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

        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號
        主站蜘蛛池模板: 亚洲午夜成人精品电影在线观看| 老司机67194精品线观看| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 精品亚洲一区二区三区在线观看| 国产精品久久影院| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 久久97精品久久久久久久不卡| 久久亚洲精品国产精品| 亚洲精品WWW久久久久久| 精品人妻伦九区久久AAA片69| 91po国产在线精品免费观看| 国产午夜精品视频| 华人在线精品免费观看| 国产精品久久久福利| 国产福利91精品一区二区三区| 精品无码久久久久国产| 久久精品国产亚洲AV电影| 四虎国产成人永久精品免费| 亚洲中文精品久久久久久不卡| 在线观看自拍少妇精品| 亚洲国产主播精品极品网红| 亚洲国产精品国产自在在线| 亚洲精品国产福利一二区| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 国产亚洲曝欧美不卡精品| 国产伦精品一区二区免费| 精品久久久久国产免费| 国产精品爱搞视频网站 | 国产高清在线精品二区一| 999在线视频精品免费播放观看| 久久99精品久久只有精品 | 久久久久久九九99精品| 久久久久99精品成人片试看| 精品欧洲AV无码一区二区男男| 精品无码久久久久久午夜| 国产精品无套内射迪丽热巴| 99re热这里只有精品视频中文字幕| 国内精品91最新在线观看| 国产成人精品亚洲精品| 国内精品久久久久久中文字幕| 无码精品蜜桃一区二区三区WW|