기초:
배열 복사 :
(1) 루핑 트래버스 카피 (권장되지 않음)
코드 사본은 다음과 같습니다.
var arr = [1,5,9,7],
new_arry = [],
n = 0,
len = arr.length;
for (; n <len; n ++) {
new_arry.push (Arry [n]);
}
(2) concat () 메소드는 2 개 이상의 배열을 연결하는 데 사용됩니다. 이 방법은 기존 배열을 변경하지 않지만 연결된 배열의 사본 만 반환합니다.
코드 사본은 다음과 같습니다.
var arr = [1,5,9,7],
new_arry = arry.concat ();
Console.log (new_arry);
(3) Slice () 메소드는 기존 배열에서 선택한 요소를 반환 할 수 있습니다.
코드 사본은 다음과 같습니다.
var arr = [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 : 범위;
var newArray = [] .concat (Old_arry), // 원래 배열을 복사하고 작동하면 원본 배열이 파괴되지 않습니다.
valarray = [];
for (var n = 0; n <범위; n ++) {
var r = math.floor (math.random () * (newArray.length));
valarray.push (NewArray [r]);
// 원래 배열을 삭제 한 다음 다음 루프에서 반복 획득을 피하십시오.
newArray.splice (r, 1);
}
반환 발라 레이;
}
var new_val = getrandom ({ 'arry': [1,6,8,0,3], '범위': 3});
Console.log (new_val);
매우 유용합니까? 매우 실용적인 코드. 여기 내 프로젝트와 별도의 프로젝트가 있으며 도움이되기를 바랍니다.