一。数组扁平化
概念:是指将一个多维数组变为一个一维数组。
var arr=[1,[2,[3,[4,5]]],6];
==>[1, 2, 3, 4, 5, 6]
办法一:arr.flat(Infinity);
办法二:JSON.parse("["+JSON.stringify(arr).replace(/\[|]/g,"")+"]")
办法三: const arrCon=[];
const fn=arr=>{
for(let i=0;i<arr.length;i++){
if(Array.isArray(arr[i])){
fn(arr[i]);
}
else{
arrCon.push(arr[i]);
};
};
fn(arr);
有不懂flat()小伙伴们能够点击flat()
二。数组去重
var arr=[1,1,2,2,4,4,null,null];
==>[1,2,4,null]
办法一:Arry.from(new Set(arr));
办法二:双层for循环
function FFOR(arr){
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]===arr[j]){
arr.splice(j,1)
j--
}
}
}
return arr;
};
办法三:filter()+indexOf()
function ffor(arr){
return arr.filter(item,index,arr){
return arr.indexOf(item,0)===index;
}
};
办法四:indexOf
function FFOR(arr){
const arrCon=[];
for(let i=0;i<arr.length;i++){
if(arrCon.indexOf(arr[i])===-1){
arrCon.push(arr[i])
}
}
return arrCon
}
发表回复