站長資訊網
        最全最豐富的資訊網站

        es6怎么求兩個數組的交集

        實現方法:1、使用“new Set(數組)”語句將兩個數組都轉換為set集合類型;2、使用“new Set([…集合1].filter(x => 集合2.has(x)))”語句獲取兩個集合的交集即可,會返回一個包含全部交集元素的新集合。

        es6怎么求兩個數組的交集

        本教程操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

        在es6中,可以利用set對象的has() 方法配合數組的filter()來求兩個數組的交集。

        • Set是ES6新提供的數據結構,類似于數組,但是本身沒有重復值。利用這一特性,我們可以將數組轉為Set類型進行去重,然后使用Array.from方法將其再轉為數組。

        • Set has() 方法指示 Set 對象是否包含指定的值。如果指定的值存在,則返回真,否則返回假。

        let a=[1, 2, 3]; let b=[3, 5, 2]; newA = new Set(a); newB = new Set(b);  let intersectionSet = new Set([...newA].filter(x => newB.has(x))); console.log(intersectionSet);

        es6怎么求兩個數組的交集

        可以看出此時,交集元素被包含在一個set集合中返回,可利用Array.from方法將集合轉為數組類型

        • Array.from方法用于將兩類對象轉為真正的數組:類似數組的對象(array-like object)和可遍歷(iterable)的對象(包括 ES6 新增的數據結構 Set 和 Map)。

        let intersectionSet = Array.from(new Set([...newA].filter(x => newB.has(x)))); console.log(intersectionSet);

        es6怎么求兩個數組的交集

        擴展知識:求并集/差集

        let a = new Set([1, 2, 3]); let b = new Set([3, 5, 2]);   // 并集 let unionSet = new Set([...a, ...b]); //[1,2,3,5]  // ab差集 let differenceABSet = new Set([...a].filter(x => !b.has(x)));

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品亚洲视频| 亚洲∧v久久久无码精品| 自拍偷在线精品自拍偷无码专区| 精品视频在线v| 伊人久久综合精品无码AV专区| 国产精品毛片a∨一区二区三区| 91精品国产乱码久久久久久| 亚洲精品午夜国产VA久久成人| 久久e热在这里只有国产中文精品99 | 国产精品区AV一区二区| 国产成人精品综合网站| 精品久久人妻av中文字幕| 尤物yw午夜国产精品视频| 日韩精品欧美亚洲| 久久乐国产精品亚洲综合| 精品国产91久久久久久久a | 久久精品无码一区二区无码| 夜夜爽一区二区三区精品| 蜜臀精品国产高清在线观看| 国内精品久久久久影院网站 | 日韩欧美亚洲国产精品字幕久久久| 国产精品免费久久久久电影网| 日韩欧国产精品一区综合无码| 99re热视频这里只精品| 国产精品一久久香蕉国产线看观看| 午夜精品久久久久久毛片| 亚洲国产综合精品一区在线播放| 精品亚洲欧美中文字幕在线看| 精品国产乱码久久久久久浪潮| 精品国产免费一区二区三区| 久久精品女人天堂AV麻| 久久久久久久久久免免费精品| 毛片a精品**国产| 欧美日韩成人精品久久久免费看 | 国产精品高清免费网站| 国产一区二区精品久久凹凸| 精品欧美一区二区三区久久久| 久久精品国产亚洲Aⅴ蜜臀色欲 | 久久精品国产91久久麻豆自制| 亚洲国产精品久久久久网站| 日本精品在线视频|