jquery的问题,有一个数组比如是[1.3.5.9],怎么每次随机删除其中一个数组元素,直到把所有元素删除

如题所述

第1个回答  2016-08-29
1可以这样,首先获取一个随机数,范围在数据下表的范围内,比如0-3
2根据下标删除元素
1的实现可以参考:
var index = Math.ceil(Math.random()* arr.length);//arr是你的数组

2的实现比较复杂一点可以参考下面的写法,比较专业:
http://caibaojian.com/js-splice-element.html追问

三克油

第2个回答  2016-08-29
var arr =[1,2,3,4];
var len = arr.length;
while(len==0){
var rand = parseInt(Math.random()*len);
arr.delete(rand);
len = arr.length;
}
Array.prototype.delete=function(dx)
{
if(isNaN(dx)||dx>this.length){return false;}
for(var i=0,n=0;i<this.length;i++)
{
if(this[i]!=this[dx])
{
this[n++]=this[i]
}
}
this.length-=1
}
//大概是这样,我没运行,如果有小问题,自己改改就行本回答被网友采纳
第3个回答  2016-08-29
首先获取这个数组的长度,然后random一个0-数组长度的值,将这个值作为下标删除,数组长度会-1,每次删除前判断一下长度,=0时说明数组为空追问

三克油

相似回答