全国咨询热线:18720358503

简易微信小程序_JS完成集合的交集、补集、差集

类别:媒体报道 发布时间:2021-01-07 浏览人次:

JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】       这篇文章主要介绍了JS实现集合的交集、补集、差集、去重运算,结合实例形式分析了ES5与ES6语法环境下的集合常见运算操作技巧,需要的朋友可以参考下

本文实例讲述了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完成集合的交集、补集、差集

JS完成结合的相交、补集、差集、去重复计算实例【ES5与ES6书写】 本文关键详细介绍了JS完成结合的相交、补集、差集、去重复计算,融合案例方式剖析了ES5与ES6英语的语法自然环境...

2021-01-07
深圳小程序开发_vue中组件的3种使用方式详解

vue中部件的3种应用方法详细说明 本文关键给大伙儿详细介绍了有关vue中部件的3种应用方法,原文中根据实例编码详细介绍的十分详尽,对大伙儿学习培训或是应用vue具备一定的参...

2021-01-07
微信小程序价钱_微信小程序自界说导航栏实例代

手机微信微信小程序自定导航栏栏案例编码 本文关键给大伙儿详细介绍了有关手机微信微信小程序自定导航栏栏的有关材料,原文中根据实例编码详细介绍的十分详尽,对大伙儿...

2021-01-07
苹果iOS 5移动操作系统正式在全球范围内推出

iPhoneiOS 5移动实际操作系统软件今日宣布发布。iPhoneiOS 5移动实际操作系统软件宣布发布,现阶段可完全免费开展免费下载。新浪网高新科技讯 北京市時间十月13日零晨信息,iPhone移动实...

2021-01-07
什么是全网营销型网站建设?

在互连网发展趋势早期,许多公司做互联网营销推广一般全是挑选在淘宝网天猫商城那样的大中型第三方服务平台做营销推广,但伴随着互连网的日渐发展趋势,公司不可以只考虑于那...

2021-01-07
个人小程序开发教程_微信小程序自界说组件传值

手机微信微信小程序自定部件传值 网页页面和部件互相传数据信息实际操作实例 本文关键详细介绍了手机微信微信小程序自定部件传值 网页页面和部件互相传数据信息实际操作...

2021-01-07
X

400-8700-61718720358503
企业邮箱2639601583@qq.com
官方微信