Mám dve pole objektu:
Prvok mojej tabuľky nie je primitívna hodnota, ale komplexné objekty.
array1 = [obj1,obj2,obj3,obj4]
array2 = [obj5,obj5,obj6,obj7]
Chcel by som porovnať dve polia a vidieť prvky poľa 2 sú už prítomné v poli1 a potom vytvoriť nové pole rozdielu.
Nejaké návrhy ?
odpovede:
14 pre odpoveď č. 1var presents = _.intersectionWith(array1, array2, _.isEqual);
var dif = _.differenceWith(array1, array2, _.isEqual);
9 pre odpoveď č. 2
ES6 To bude stačiť:
array2.filter(e => !array1.includes(e));
bez zahŕňa
array2.filter(e=> array1.indexOf(e) < 0);
Plunker pre teba
1 pre odpoveď č. 3
_.rozdiel vám dáva len prvky, ktoré sú v prvom poli, ale nie v druhom, nič o prvkoch v poli 2, ktoré nie sú v poli 1.
Je to to, čo chcete dosiahnuť?