/ / Ako získať prírastky a vymazania medzi dvoma poliami v Node.js? - javascript, polia, node.js

Ako získať prírastky a odstránenia medzi dvoma poliami v Node.js? - javascript, arrays, node.js

Mám 2 polia, ktoré sa menia raz za čas. Chcem ich porovnať a získať dodatky a odstránenia medzi prvým, zdrojovým a druhým poľom.

Pridania / vymazania sa môžu vyskytnúť v strede poľa (nie nevyhnutne na okrajoch).

Napríklad z týchto polí:

Array 1
Item A | Item B | Item C | Item D | Item E

Array 2
Item A | Item Z | Item C | Item D | Item E

Chcel by som získať nasledujúci výstup: - Položka B bola odstránená - Bola pridaná položka Z

Aký je najlepší spôsob riešenia tohto problému?

odpovede:

5 pre odpoveď č. 1

Ak je typ položky reťazec, postupujte takto

var getAddedorRemovedItem = function (sourceArray1, sourceArray2) {
var added = [], removed = [];
sourceArray1.forEach(function(item){
if (sourceArray2.indexOf(item) == -1) {
removed.push(item);
}
});
sourceArray2.forEach(function (item) {
if (sourceArray1.indexOf(item) == -1) {
added.push(item);
}
});

// here added array contain all new added item and removed contain all removed item;

// do acc. to whatever you want to get outpur
}

-1 pre odpoveď č. 2

Ak prvky majú náhodné polohy, jediné, čo môžete urobiť, je prejsť pole, aby ste sa uistili, ktoré prvky sú pridané alebo odstránené, alebo môžete použiť podčiarknutie lib má tiež balík pre uzol

funkcia je:

_.difference(array, *others)

S pozdravom