Array 常见的处理方法

2019-04-30  本文已影响0人  卡卡的尼奇

数组去重

去重可以借用ES6Set

const arr = [1, 1, 2, 'i', 'a', 'i']
const newArr = [...new Set(arr)]
console.log(newArr) // [1, 2, "i", "a"]

但是去重只能针对基本数据类型,引用类型实际上是不同的实例,无法直接去重,除非是其引用

const arr0 = [1, 1, { a: 1 }, { a: 1 }]
console.log(new Set(arr0)) // [1, { a: 1 }, { a: 1 }]
const p = { a: 1 }
const q = p
const arr1 = [1, 1, p, q]
console.log(new Set(arr1)) // [1, { a: 1 }]

快速生成数组

// 生成 1-100 的数组
[...Array(100).keys()].map(x => x + 1)
// 生成 [0, 0] 到 [20, 50] 的数组
[...Array(20).keys()].map(a => [...Array(50).keys()].map(b => [a, b])).flat()
上一篇下一篇

猜你喜欢

热点阅读