轉(zhuǎn)載自:https://www.cnblogs.com/maggie-pan/p/9960081.html
根據(jù)阮一峰老師的ES6教程自己體會而寫的匪凡,希望能給一些朋友有幫助到
let a = new Set([1,2,3,4])
let b = new Set([2,3,4,5,])
求并集
let union = [...new Set([...a,...b])] // [1,2,3,4,5]
交集
let intersect = [...new Set([...a].filter(n => b.has(n)))] // [2,3,4]
差集
let difference = [...new Set([...a].filter(n => !b.has(n)))] // [1]
多維數(shù)組如何平拉層一維數(shù)組缅叠?ES6的數(shù)組提供一個flat函數(shù)
[1,2,[3,[4,5]]].flat() // [1,2,3,[4,5]]
flat() 無參數(shù)時候默認是拉平一層迁筛,要想拉平多層蓬戚,可以傳遞Infinity參數(shù),可以拉平無數(shù)層
[1,2,[3,[4,[5,[6,[7,[8,9]]]]]]].flat(Infinity) // [1,2,3,4,5,6,7,8,9]