This article mainly introduces the collection deduplication, intersection, union, difference set functions implemented by JS, and analyzes related implementation techniques such as set deduplication, intersection, union, difference set and other related implementation techniques based on arrays implemented by javascript in the form of examples. , Friends who need it can refer to
The examples in this article describe the set deduplication, intersection, union, and difference set functions implemented by JS. Share it with everyone for your reference, the details are as follows:
1. js implements the set operation of the array
In order to facilitate testing, we use nodejs here, the code is like 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. Test
We use nodejs here to test
Test results:
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 ]
The above is what I compiled for everyone , I hope it will be helpful to everyone in the future.
Related articles:
jquery implements drag file upload loading progress bar function
Analysis of javascript prototype and prototype chain
Detailed tutorial on using Angular CLI to generate Angular 5 projects
The above is the detailed content of Examples of set deduplication, intersection, union, and difference functions implemented in JS. For more information, please follow other related articles on the PHP Chinese website!