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

js数组

2015-06-05 14:57 741 查看
片段1

//有  [1, [2, [3, 4]], 5, 6];
//输出[ 1, 2, 3, 4, 5, 6 ]

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

//第一种方法
var bb = aa.toString().split(',').map(function(v){
return +v;
});

//第二种方法
function flatArray(notArray){
return notArray.reduce(function(prev, cur, index){
var deeper = [].concat(cur).some(Array.isArray);
return prev.concat(deeper ? flatArray(cur) : cur);
}, [] );
}

//第三种方法
function getArr(arr){
var newArray = [] ;
(function a(arr){

for( var i = 0 ; i < arr.length ; i++ ){
if(arr[i].constructor == Array){
a(arr[i])
}else{
newArray.push(arr[i]);
}
}
})(arr);

return newArray;
}


片段2

var  selects = new Array();
var  selectsCopy = new Array();
Array.prototype.contans = function(obj){
var i = this.length ;
while(i--){
if(this[i] === obj){
return true;
}
}
return false;
}

//level 抽奖的等级
//num 抽奖个数
//selects 需要比较的数组

function compare(num1 , num2){
if(num1 > num2){
return 1;
}if(num1 < num2){
return -1;
}else{
return 0;
}
}
var selectPeople = function(level, num, selects){
while(num > 0){
aaa = parseInt(Math.random()*20000);
if(!selectsCopy.contans(aaa)){
selects.push([level, aaa]);
selectsCopy.push(aaa);
num--;
}

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