JS小技巧

一些资料上看到的技巧,感觉挺实用,以后遇到还会继续增加

1、删除数组尾部元素

const arr = [0,1,2,3,4,5]

arr.length =3;
conosle.log(arr)// => [0,1,2]

arr.length = 0;
console.log(arr)// => []
console.log(arr[2]) // => undefined

2、数组去重

const remove = arr = [...new Set(arr)];

remove([42,'foo',true,true]);

// =>[42,'foo',true]

3、平铺多维数组

const arr = [11,[22,33],[44,55],66];
const flatArr = [].concat(...arr); // [11,22,33,44,55,66]

上面的方法只适用于二维数组;需要通过递归可以平铺任意维度的嵌套数组:

function flattenArray(arr){

const flattened = [].concat(...arr);
return flattened.some(item=>Array.isArray(item)) ? flattenArray(flattened) : flattened;

}

const arr = [11,[22,33],[44,[55,66,[77,[88]],99]]];

const flatArr = flattenedArray(arr);

// => [11,22,33,44,55,66,77,88,99]

猜你喜欢

转载自www.cnblogs.com/yinxingen/p/9253051.html
今日推荐