摘要:前言總結(jié)了一下有關(guān)于數(shù)組的差集交集并集的方法的方法實(shí)現(xiàn)去重簡(jiǎn)單的數(shù)組去重請(qǐng)傳入數(shù)組類型并集簡(jiǎn)單數(shù)組的并集交集簡(jiǎn)單數(shù)組的交集差集簡(jiǎn)單數(shù)組的差集的方法實(shí)現(xiàn)去重簡(jiǎn)單的數(shù)組去重請(qǐng)傳入數(shù)組類型交集簡(jiǎn)單數(shù)組的交集請(qǐng)都傳入數(shù)組類型并集簡(jiǎn)單數(shù)組的并集請(qǐng)都傳
前言
總結(jié)了一下有關(guān)于數(shù)組的差集、交集、并集的方法;
es6的方法實(shí)現(xiàn)/** * 簡(jiǎn)單的數(shù)組去重 * @param {Array} a */ const uniquelize = function(a) { if (a.constructor !== Array) { throw TypeError("請(qǐng)傳入數(shù)組類型"); } return Array.from(new Set(a)); };
/** * 簡(jiǎn)單數(shù)組的并集 * @param {Array} a * @param {Array} b */ const getUnion = function(a,b){ if(a.constructor === Array && b.constructor === Array){ let set1 = new Set(a); let set2 = new Set(b); return Array.from(new Set([...set1,...set2])); } return null; }
/** * 簡(jiǎn)單數(shù)組的交集 * @param {Array} a * @param {Array} b */ const getIntersect = function(a,b){ if(a.constructor === Array && b.constructor === Array){ let set1 = new Set(a); let set2 = new Set(b); return Array.from(new Set([...set1].filter( x => set2.has(x)))); } return null; }
/** * 簡(jiǎn)單數(shù)組的差集 * @param {Array} a * @param {Array} b */ const getDifference = function(a,b){ if(a.constructor === Array && b.constructor === Array){ let set1 = new Set(a); let set2 = new Set(b); return Array.from(new Set([...set1].filter(x => !set2.has(x)))); } return null; }es5的方法實(shí)現(xiàn)
/** * 簡(jiǎn)單的數(shù)組去重 * @param {Array} a */ var uniquelize = function(a) { if (a.constructor !== Array) { throw TypeError("請(qǐng)傳入數(shù)組類型"); } var obj = {}, arr = []; for (var i = 0, j = a.length; i < j; i++) { if (!obj[a[i]]) { obj[a[i]] = 1; arr.push(a[i]); } } return arr; };
/** * 簡(jiǎn)單數(shù)組的交集 */ var getIntersect = function(){ var arr = new Array(); var obj = new Object(); var arguLen = arguments.length; for(var i = 0; i并集
/** * 簡(jiǎn)單數(shù)組的并集 */ var getUnion = function(){ var arr = new Array(); var obj = new Object(); var arguLen = arguments.length; for(var i = 0; i差集
/** * 簡(jiǎn)單數(shù)組的差集 */ var getDifference = function(){ var arr = new Array(); var obj = new Object(); var arguLen = arguments.length; for(var i = 0; i
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/94219.html
摘要:同樣的,由于下面會(huì)用到的方法,低版本會(huì)存在兼容,先應(yīng)添加對(duì)應(yīng)的依賴數(shù)組去重方法數(shù)組去重交集交集元素由既屬于集合又屬于集合的元素組成使用方式并集并集元素由集合和集合中所有元素去重組成使用方式差集的差集屬于集合不屬于集合的元素的差集屬于集合 同樣的,由于下面會(huì)用到ES5的方法,低版本會(huì)存在兼容,先應(yīng)添加對(duì)應(yīng)的polyfill Array.prototype.indexOf = Array....
摘要:最近在看阮一峰老師的入門在看到數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)數(shù)組的交集,并集還有差集,但是阮一峰老師實(shí)現(xiàn)差集貌似有點(diǎn)問題,特地來(lái)做下筆記并集交集差集最后這條代碼才能求到正確的差集原文地址 最近在看阮一峰老師的《ES6 入門》 在看到Set數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)數(shù)組的交集,并集還有差集,但是阮一峰老師實(shí)現(xiàn)差集貌似有點(diǎn)問題,特地來(lái)做下筆記: const a = {fn: 1}; const set = new Set...
摘要:比如,現(xiàn)在有兩個(gè)類型一差集很明顯結(jié)果是,下面我們說(shuō)一下具體方法。方法正常法方法簡(jiǎn)化版方法高級(jí)版二并集很明顯結(jié)果是下面是具體方法三交集很明顯結(jié)果是,下面是具體方法 比如,現(xiàn)在有兩個(gè)list類型: a_list = [1,2,3,4] b_list = [1,4,5] 一. 差集很明顯結(jié)果是[2,3,5],下面我們說(shuō)一下具體方法。方法a.正常法: ret_list = [] ...
摘要:至于這三個(gè)的具體概念,可以看圖中集合的實(shí)現(xiàn)首先,創(chuàng)建一個(gè)構(gòu)造函數(shù)。前端路漫漫,且行且歌的前端樂園原文鏈接寒假前端學(xué)習(xí)學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法三集合 本系列的第一篇文章: 學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法(一),棧與隊(duì)列第二篇文章:學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法(二):鏈表第三篇文章:學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法(三):集合第四篇文章:學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與...
閱讀 1049·2021-11-18 10:02
閱讀 1304·2021-09-23 11:22
閱讀 2607·2021-08-21 14:08
閱讀 1636·2019-08-30 15:55
閱讀 1720·2019-08-30 13:45
閱讀 3141·2019-08-29 16:52
閱讀 3092·2019-08-29 12:18
閱讀 1636·2019-08-26 13:36