您的位置:首页 > Web前端 > JavaScript

随机获取数组的子集

2016-08-05 16:31 246 查看
思路:

1 从一个给定的数组arr中,随机返回num个不重复项

function getArrayItems(arr, num) {
var temp_array = new Array();
for (var index in arr) {
temp_array.push(arr[index]);
}
var return_array = new Array();
for (var i = 0; i<num; i++) {
if (temp_array.length>0) {
var arrIndex = Math.floor(Math.random()*temp_array.length);
return_array[i] = temp_array[arrIndex];
temp_array.splice(arrIndex, 1);
} else {
break;
}
}
return return_array;
}

//测试
var ArrList=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24];
alert(getArrayItems(ArrList,6));

2随机改变getArrayItems(arr,
num)函数中num值即可

Demo:

  var   array=[1,2,3,4,5,6,7,];

window.setInterval(function(){

var num=Math.ceil(Math.random()*(arr.length));

getArrayItems(array,num);

},5000);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js