Имам два масива с обекти:
var oldUsers = [{"name": "Sam", "ext": 12}, {"name": "John", "ext": 15}];
var newUsers = [{"name": "John", "ext": 15}, {"name": "Jim", "ext": 19}];
Сега искам да премахна обекти от двете масиви, които са в двата масива. В този пример се опитвам да премахна {"name": "John", "ext": 15}
от двете масиви. И двата масива съдържат 200 или повече обекта и накрая трябва да обработя обектите, които не са изтрити, така че в края моите масиви трябва да изглеждат така:
var oldUsers = [{"name": "Sam", "ext": 12}];
var newUsers = [{"name": "Jim", "ext": 19}];
Дали някой от вас има идея как да се реши този проблем, например чрез циклично преминаване през масиви? Трябва да сравнявам масиви с много обекти и след това искам да изтрия дублиращи се записи с splice()
или нещо подобно от двата масива.
Благодаря предварително!
Отговори:
0 за отговор № 1По-добре е да създадете набор от ключове (напр. Като "<name>:<ext>"
в зависимост от това, което е уникално за всички елементи, намиращи се в един масив, и пресичане на другия масив, за да провери за присъствието им.