Heim  >  Artikel  >  Web-Frontend  >  Beispiele für in JS implementierte Mengendeduplizierungs-, Schnittmengen-, Vereinigungs- und Differenzfunktionen

Beispiele für in JS implementierte Mengendeduplizierungs-, Schnittmengen-, Vereinigungs- und Differenzfunktionen

亚连
亚连Original
2018-05-30 15:55:101682Durchsuche

In diesem Artikel werden hauptsächlich die von JS implementierten Mengendeduplizierungs-, Schnittmengen-, Vereinigungs- und Differenzmengenfunktionen vorgestellt und verwandte Implementierungstechniken wie Mengendeduplizierung, Schnittmenge, Vereinigung, Differenzmenge und andere verwandte Implementierungstechniken basierend auf Arrays analysiert, die von Javascript in implementiert werden Die Form von Beispielen. Freunde in Not können sich auf

beziehen. Dieser Artikel beschreibt die von JS implementierten Mengendeduplizierungs-, Schnittmengen-, Vereinigungs- und Differenzfunktionen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

1. js implementiert die Set-Operation von Arrays

Um das Testen zu erleichtern, verwenden wir nodejs Hier ist der Code wie 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

Wir verwenden nodejs zum Testen

Testergebnisse:

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 ]

Das Obige habe ich für alle zusammengestellt und hoffe, dass es in Zukunft für alle hilfreich sein wird.

Verwandte Artikel:

jquery implementiert die Funktion zum Ziehen des Datei-Uploads und zum Laden des Fortschrittsbalkens

Analyse des Javascript-Prototyps und der Prototypenkette

Ausführliches Tutorial zur Verwendung von Angular CLI zum Generieren von Angular 5-Projekten

Das obige ist der detaillierte Inhalt vonBeispiele für in JS implementierte Mengendeduplizierungs-, Schnittmengen-, Vereinigungs- und Differenzfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn