类别:媒体报道 发布时间:2021-01-07 浏览人次:
本文实例讲述了JS实现集合的交集、补集、差集、去重运算。分享给大家供大家参考,具体如下:
ES5写法:
///集合取交集 Array.intersect = function () { var result = new Array(); var obj = {}; for (var i = 0; i arguments.length; i++) { for (var j = 0; j arguments[i].length; j++) { var str = arguments[i][j]; if (!obj[str]) { obj[str] = 1; else { obj[str]++; if (obj[str] == arguments.length) result.push(str); return result; //集合去掉重复 Array.prototype.uniquelize = function () { var tmp = {}, ret = []; for (var i = 0, j = this.length; i i++) { if (!tmp[this[i]]) { tmp[this[i]] = 1; ret.push(this[i]); return ret; Array.union = function () { var arr = new Array(); var obj = {}; for (var i = 0; i arguments.length; i++) { for (var j = 0; j arguments[i].length; j++) var str=arguments[i][j]; if (!obj[str]) obj[str] = 1; arr.push(str); }//end for j }//end for i return arr; //2个集合的差集 在arr不存在 Array.prototype.minus = function (arr) { var result = new Array(); var obj = {}; for (var i = 0; i arr.length; i++) { obj[arr[i]] = 1; for (var j = 0; j this.length; j++) { if (!obj[this[j]]) obj[this[j]] = 1; result.push(this[j]); return result; console.log(Array.intersect(["1", "2", "3"], ["2", "3", "4", "5", "6"]));//[2,3] console.log([1, 2, 3, 2, 3, 4, 5, 6].uniquelize());//[1,2,3,4,5,6] console.log(Array.union(["1", "2", "3"], ["2", "3", "4", "5", "6"], ["5", "6", "7", "8", "9"])) console.log(["2", "3", "4", "5", "6"].minus(["1", "2", "3"]));
使用在线HTML/CSS/JavaScript代码运行工具册数上述代码,可得如下运行结果:
ES6写法:使用构造函数Set
const arr1 = [1,2,3,4]; const arr2 = [3,4,5,6]; const arr3 = [1,2,3,2,1,3,4]; let s1 = new Set(arr1); let s2 = new Set(arr2); let union = [...s1, ...s2]; console.log(union); //[1, 2, 3, 4, 3, 4, 5, 6] let intersect = arr1.filter( x = s2.has(x) ); console.log(intersect); //[3, 4] let difference = arr1.filter( x = !s2.has(x) ); console.log(difference); //[1, 2] let minus = [...new Set(arr3)]; console.log(minus); //[1, 2, 3, 4]
使用在线HTML/CSS/JavaScript代码运行工具册数上述代码,可得如下运行结果:
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
JS完成结合的相交、补集、差集、去重复计算实例【ES5与ES6书写】 本文关键详细介绍了JS完成结合的相交、补集、差集、去重复计算,融合案例方式剖析了ES5与ES6英语的语法自然环境...
2021-01-07vue中部件的3种应用方法详细说明 本文关键给大伙儿详细介绍了有关vue中部件的3种应用方法,原文中根据实例编码详细介绍的十分详尽,对大伙儿学习培训或是应用vue具备一定的参...
2021-01-07手机微信微信小程序自定导航栏栏案例编码 本文关键给大伙儿详细介绍了有关手机微信微信小程序自定导航栏栏的有关材料,原文中根据实例编码详细介绍的十分详尽,对大伙儿...
2021-01-07iPhoneiOS 5移动实际操作系统软件今日宣布发布。iPhoneiOS 5移动实际操作系统软件宣布发布,现阶段可完全免费开展免费下载。新浪网高新科技讯 北京市時间十月13日零晨信息,iPhone移动实...
2021-01-07在互连网发展趋势早期,许多公司做互联网营销推广一般全是挑选在淘宝网天猫商城那样的大中型第三方服务平台做营销推广,但伴随着互连网的日渐发展趋势,公司不可以只考虑于那...
2021-01-07手机微信微信小程序自定部件传值 网页页面和部件互相传数据信息实际操作实例 本文关键详细介绍了手机微信微信小程序自定部件传值 网页页面和部件互相传数据信息实际操作...
2021-01-07