数组去重
去重可以借用ES6
的Set
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()
网友评论