/*在基于数组原型扩展*/
Array.prototype.getRandom =
function
(range) {
//防止长度越界
range = range >
this
.length?
this
.length:range;
var
newArray = [].concat(
this
),
//拷贝原数组进行操作,否则会影响原数据
valArray = [];
for
(
var
n = 0; n < range; n++) {
/*#Math.random() 此方法是获取0-1的随机数#*/
// 获取随机整数,注:一定要乘以目标数组的长度
var
r = Math.floor(Math.random() * (newArray.length));
valArray.push(newArray[r]);
//在目标数组删掉,然后在下轮循环中,此项就不存在
newArray.splice(r, 1);
}
return
valArray;
}
//调用
var
rs = [2, 5, 8, 9, 6].getRandom(3);
|
本文由 w3cmark_前端笔记 版权所有,转载时请注明出处。
注明出处格式:w3cmark (http://www.w3cmark.com/2015/365.html)