Cet article présente principalement les fonctions de déduplication d'ensemble, d'intersection, d'union et d'ensemble de différences implémentées par JS, et analyse les techniques d'implémentation associées telles que la déduplication d'ensemble, l'intersection, l'union, l'ensemble de différences et d'autres techniques d'implémentation associées basées sur des tableaux en javascript dans le sous forme d'exemples., Les amis dans le besoin peuvent se référer à
Cet article décrit les fonctions de déduplication, d'intersection, d'union et de différence implémentées par JS. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
1.js implémente le fonctionnement défini des tableaux
Afin de faciliter les tests, nous utilisons nodejs. ici, le code est comme 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);
Test
Nous utilisons nodejs pour tester ici
Résultats des tests :
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 ]
Ce qui précède, c'est moi, je l'ai compilé pour tout le monde, j'espère qu'il sera utile à tout le monde à l'avenir.
Articles connexes :
Analyse du prototype javascript et de la chaîne de prototypes
Tutoriel détaillé sur l'utilisation d'Angular CLI pour générer des projets Angular 5
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!