기본 지식:
배열 복사:
(1) 루프 순회 복사(권장하지 않음)
var arry = [1,5,9,7],
new_arry = [],
n = 0,
len = arry.length;
for(;n
new_arry.push(arry[n]);
}
(2) concat() 메서드는 두 개 이상의 배열을 연결하는 데 사용됩니다. 이 메서드는 기존 배열을 변경하지 않고 연결된 배열의 복사본만 반환합니다
var arry = [1,5,9,7],
new_arry = arry.concat();
console.log(new_arry);
(3) Slice() 메서드는 기존 배열에서 선택한 요소를 반환할 수 있습니다.
var arry = [1,5,9,7],
new_arry = arry.slice(0);
console.log(new_arry);
임의의 숫자:
Math.random()
Math.random()은 0에서 1 사이의 난수를 반환합니다(예: 0.4261967441998422
개인 캡슐화 기능:
함수 getRandom(opt) {
var old_arry = opt.arry,
범위 = opt.range;
//배열 길이 초과 방지
범위 = 범위 > old_arry.length?old_arry.length:range;
var newArray = [].concat(old_arry), //원본 배열을 파괴하지 않고 작업을 위해 원본 배열을 복사
valArray = [];
for (var n = 0; n
var r = Math.floor(Math.random() * (newArray.length));
valArray.push(newArray[r]);
//원래 배열에서 삭제하고, 다음 주기에 반복 획득을 피하세요
newArray.splice(r, 1);
}
valArray를 반환합니다.
}
var new_val = getRandom({'arry':[1,6,8,0,3],'range':3});
console.log(new_val);
매우 유용하지 않나요? 여기에서는 제 프로젝트와 별도로 모든 사람에게 도움이 되기를 바랍니다.