>  기사  >  웹 프론트엔드  >  Node.js는 array_javascript 기술에서 무작위로 요소를 얻는 것을 구현합니다.

Node.js는 array_javascript 기술에서 무작위로 요소를 얻는 것을 구현합니다.

WBOY
WBOY원래의
2016-05-16 16:20:551180검색

기본 지식:

배열 복사:

(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);

매우 유용하지 않나요? 여기에서는 제 프로젝트와 별도로 모든 사람에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.