美文网首页
【转】ES6利用集合Set解决数组 交集 并集 差集的问题

【转】ES6利用集合Set解决数组 交集 并集 差集的问题

作者: 囍冯总囍 | 来源:发表于2020-07-22 14:37 被阅读0次

    转载自:https://www.cnblogs.com/maggie-pan/p/9960081.html

    根据阮一峰老师的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]

    多维数组如何平拉层一维数组?ES6的数组提供一个flat函数

    [1,2,[3,[4,5]]].flat() // [1,2,3,[4,5]]

    flat() 无参数时候默认是拉平一层,要想拉平多层,可以传递Infinity参数,可以拉平无数层

    [1,2,[3,[4,[5,[6,[7,[8,9]]]]]]].flat(Infinity) // [1,2,3,4,5,6,7,8,9]

    相关文章

      网友评论

          本文标题:【转】ES6利用集合Set解决数组 交集 并集 差集的问题

          本文链接:https://www.haomeiwen.com/subject/yvazkktx.html