宝哥软件园

JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】

编辑:宝哥软件园 来源:互联网 时间:2021-08-27

本文实例讲述了射流研究…实现集合的交集、补集、差集、去重运算。分享给大家供大家参考,具体如下:

ES5写法:

///集合取交集数组。intersect=function(){ var result=new Array();var obj={ };for(var I=0;一、论点。长度;I){ for(var j=0;j论据[i].长度;j ) { var str=参数[I][j];if(!obj[str]){ obj[str]=1;} else { obj[str];if(obj[str]==参数。长度){结果。push(str);} } } }返回结果;}//集合去掉重复数组。原型。uniquelize=function(){ var tmp={ },ret=[];对于(var i=0,j=this.lengthI ji ) { if(!tmp[this[I]]){ tmp[this[I]]=1;ret.push(这个[I]);} }返回ret}//并集数组。union=function(){ var arr=new Array();var obj={ };for(var I=0;一、论点。长度;I){ for(var j=0;j论据[i].长度;j){ var str=参数[I][j];if(!obj[str]){ obj[str]=1;由…改编push(str);} }//结束为j }//结束为我返回arr}//2个集合的差集在到达)不存在数组。原型。减=函数(arr){ var result=new Array();var obj={ };for(var I=0;一、长度;I){ obj[arr[I]]=1;} for(var j=0;这个长度;j ) { if(!obj[this[j]]){ obj[this[j]]=1;结果。推(这个[j]);} }返回结果;};控制台。log(数组。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 ',' 7 ',' 8 ',' 9']))console.log(['2 ',' 3 ',' 4 ',' 5 ',' 6 ').减(['1 ',' 2 ',' 3 ']);使用在线HTML/CSS/JavaScript代码运行工具http://tools.jb51.net/code/HtmlJsRun册数上述代码,可得如下运行结果:

ES6写法:使用构造函数一组

const arr1=[1,2,3,4];const arr2=[3,4,5,6];const arr3=[1,2,3,2,1,3,4];设s1=新集合(arr 1);设s2=新集合(arr 2);//并集let union=[.s1,S2];控制台。日志(联合);//[1, 2, 3, 4, 3, 4, 5, 6]//交集让intersect=arr 1。滤波器(x=S2。has(x));控制台。log(相交);//[3, 4]//差集让差=arr1.filter(x=!S2。has(x));console.log(差异);//[1, 2]//去重让减=[.新集合(arr 3)];console.log(减);//[1, 2, 3, 4]使用在线HTML/CSS/JavaScript代码运行工具http://tools.jb51.net/code/HtmlJsRun册数上述代码,可得如下运行结果:

更多关于Java脚本语言相关内容感兴趣的读者可查看本站专题: 《JavaScript数组操作技巧总结》 、 《JavaScript排序算法总结》 、 《JavaScript数学运算用法总结》 、 《JavaScript数据结构与算法技巧总结》 、 《JavaScript遍历算法与技巧总结》 、 《JavaScript查找算法技巧总结》 及《JavaScript错误与调试技巧总结》

希望本文所述对大家Java脚本语言程序设计有所帮助。

更多资讯
游戏推荐
更多+