数组操作

扁平化

简单:
var a=[1,[2],33,[[1,9],2,3]];
var newArray = arr.flat(depth);//[1, 2, 33, 1, 9, 2, 3]
原始:
var a=[1,2,3,[2,[90,88]],0];
function flatten(arr){
while(arr.some(item => Array.isArray(item))){
arr=[].concat(...arr);
console.log(arr);
}
return arr;
}
flatten(a);//[1, 2, 3, 2, 90, 88, 0]

去重

简单:
var set= [... new set([1,1,2,2,3,3,4,4])] ;// [1, 2, 3, 4];
原始:
function distinct(arr){
var result=[],i,j,len=arr.length;
for(i=0;i<len;i++){
for(j=i+1;j<len;j++){
if(arr[i]==arr[j]){
j=++1;//i必须在j前面
}
}
result.push(arr[i]);
}
return result;
}
distinct([2,2,2,3,4,5,6,6,5,2]);//[3, 4, 6, 5, 2]