JS實(shí)現(xiàn)的集合去重,交集,并集,差集功能示例
本文實(shí)例講述了JS實(shí)現(xiàn)的集合去重,交集,并集,差集功能。分享給大家供大家參考,具體如下:
1. js 實(shí)現(xiàn)數(shù)組的集合運(yùn)算
為了方便測(cè)試我們這里使用nodejs,代碼如set_operation.js
function array_remove_repeat(a) { // 去重 var r = []; for(var i = 0; i < a.length; i ++) { var flag = true; var temp = a[i]; for(var j = 0; j < r.length; j ++) { if(temp === r[j]) { flag = false; break; } } if(flag) { r.push(temp); } } return r; } function array_intersection(a, b) { // 交集 var result = []; for(var i = 0; i < b.length; i ++) { var temp = b[i]; for(var j = 0; j < a.length; j ++) { if(temp === a[j]) { result.push(temp); break; } } } return array_remove_repeat(result); } function array_union(a, b) { // 并集 return array_remove_repeat(a.concat(b)); } function array_difference(a, b) { // 差集 a - b //clone = a var clone = a.slice(0); for(var i = 0; i < b.length; i ++) { var temp = b[i]; for(var j = 0; j < clone.length; j ++) { if(temp === clone[j]) { //remove clone[j] clone.splice(j,1); } } } return array_remove_repeat(clone); } a = [1,2,3,4,5]; b = [3,4,5,6,7]; c = array_intersection(a, b); d = array_union(a, b); e = array_difference(a, b); f = array_difference(b, a); console.log("test array a:", a, " b:", b); console.log("a & b :", c); console.log("a + b :", d); console.log("a - b:", e); console.log("b - a:", f);
2. 測(cè)試
我們這里使用nodejs來測(cè)試
測(cè)試結(jié)果:
stephen@stephen:~/openstack/demo/nodejs$ node set_operation.js test array a: [ 1, 2, 3, 4, 5 ] b: [ 3, 4, 5, 6, 7 ] a & b : [ 3, 4, 5 ] a + b : [ 1, 2, 3, 4, 5, 6, 7 ] a - b: [ 1, 2 ] b - a: [ 6, 7 ]
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JavaScript數(shù)據(jù)結(jié)構(gòu)與算法之集合(Set)
- js中通過getElementsByName訪問name集合對(duì)象的方法
- JSON--List集合轉(zhuǎn)換成JSON對(duì)象詳解
- jquery遍歷json對(duì)象集合詳解
- 詳談js遍歷集合(Array,Map,Set)
- javascript 實(shí)現(xiàn)map集合
- jQuery學(xué)習(xí)7 操作JavaScript對(duì)象和集合的函數(shù)
- Javascript實(shí)現(xiàn)的Map集合工具類完整實(shí)例
- JSON 與對(duì)象、集合之間的轉(zhuǎn)換的示例
- JS實(shí)現(xiàn)集合的交集、補(bǔ)集、差集、去重運(yùn)算示例【ES5與ES6寫法】
- JS中的算法與數(shù)據(jù)結(jié)構(gòu)之集合(Set)實(shí)例詳解
相關(guān)文章
以JavaScript來實(shí)現(xiàn)WordPress中的二級(jí)導(dǎo)航菜單的方法
這篇文章主要介紹了以JavaScript來實(shí)現(xiàn)WordPress中的二級(jí)導(dǎo)航菜單的方法,文中首先對(duì)WordPress基本的PHP導(dǎo)航菜單的做法給出了說明來作為基礎(chǔ),需要的朋友可以參考下2015-12-12JavaScript中數(shù)組遍歷的7種方法小結(jié)
作為JavaScript開發(fā)人員,熟悉數(shù)組的遍歷和操作是非常重要的,數(shù)組遍歷是處理和操作數(shù)組元素的基本需求之一,本文將介紹JavaScript中的7種常見數(shù)組遍歷方法,幫助你成為數(shù)組操作的達(dá)人2023-11-11同時(shí)使用n個(gè)window onload加載實(shí)例介紹
window onload加載多個(gè)同時(shí)使用,想必有很多人沒有用過吧,接下來為大家詳細(xì)介紹下具體的使用方法,感興趣的朋友可以參考下2013-04-04微信小程序?qū)崿F(xiàn)圖片滾動(dòng)效果示例
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)圖片滾動(dòng)效果,結(jié)合實(shí)例形式分析了微信小程序基于swiper組件的圖片滾動(dòng)效果相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2018-12-12JavaScript知識(shí)點(diǎn)總結(jié)(十一)之js中的Object類詳解
這篇文章主要介紹了JavaScript知識(shí)點(diǎn)總結(jié)(十一)之js中的Object類詳解的相關(guān)資料,需要的朋友可以參考下2016-05-05JS實(shí)現(xiàn)3D圖片旋轉(zhuǎn)展示效果代碼
這篇文章主要介紹了JS實(shí)現(xiàn)3D圖片旋轉(zhuǎn)展示效果代碼,可實(shí)現(xiàn)頁(yè)面元素的3D旋轉(zhuǎn)變換效果,涉及JavaScript動(dòng)態(tài)數(shù)學(xué)運(yùn)算的相關(guān)技巧,需要的朋友可以參考下2015-09-09webpack4之SplitChunksPlugin使用指南
這篇文章主要介紹了webpack4之SplitChunksPlugin使用指南,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06