JS實現(xiàn)的集合去重,交集,并集,差集功能示例
本文實例講述了JS實現(xiàn)的集合去重,交集,并集,差集功能。分享給大家供大家參考,具體如下:
1. js 實現(xiàn)數(shù)組的集合運算
為了方便測試我們這里使用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. 測試
我們這里使用nodejs來測試
測試結(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é)運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- JavaScript數(shù)據(jù)結(jié)構(gòu)與算法之集合(Set)
- js中通過getElementsByName訪問name集合對象的方法
- JSON--List集合轉(zhuǎn)換成JSON對象詳解
- jquery遍歷json對象集合詳解
- 詳談js遍歷集合(Array,Map,Set)
- javascript 實現(xiàn)map集合
- jQuery學(xué)習(xí)7 操作JavaScript對象和集合的函數(shù)
- Javascript實現(xiàn)的Map集合工具類完整實例
- JSON 與對象、集合之間的轉(zhuǎn)換的示例
- JS實現(xiàn)集合的交集、補集、差集、去重運算示例【ES5與ES6寫法】
- JS中的算法與數(shù)據(jù)結(jié)構(gòu)之集合(Set)實例詳解
相關(guān)文章
以JavaScript來實現(xiàn)WordPress中的二級導(dǎo)航菜單的方法
這篇文章主要介紹了以JavaScript來實現(xiàn)WordPress中的二級導(dǎo)航菜單的方法,文中首先對WordPress基本的PHP導(dǎo)航菜單的做法給出了說明來作為基礎(chǔ),需要的朋友可以參考下2015-12-12JavaScript中數(shù)組遍歷的7種方法小結(jié)
作為JavaScript開發(fā)人員,熟悉數(shù)組的遍歷和操作是非常重要的,數(shù)組遍歷是處理和操作數(shù)組元素的基本需求之一,本文將介紹JavaScript中的7種常見數(shù)組遍歷方法,幫助你成為數(shù)組操作的達人2023-11-11JavaScript知識點總結(jié)(十一)之js中的Object類詳解
這篇文章主要介紹了JavaScript知識點總結(jié)(十一)之js中的Object類詳解的相關(guān)資料,需要的朋友可以參考下2016-05-05webpack4之SplitChunksPlugin使用指南
這篇文章主要介紹了webpack4之SplitChunksPlugin使用指南,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06