У меня есть два хэша строки JavaScript, объекты, называемые существующими элементами и новыми элементами. Я хочу сравнить и извлечь, какие элементы были добавлены (уникальны для newItems), а какие были удалены (уникальны для существующих элементов). Я хочу, чтобы сравнение было на ключе каждой пары.
Какой самый эффективный способ сделать это? Должен ли я сначала сортировать предметы? Стоит ли извлекать ключи для массивов и работать с ними в одиночку?
Пример хэшей:
var existing = [];
existing.push(["456",{Ref:"456",Title:"ttt456",food:"soup"}]);
existing.push(["789",{Ref:"789",Title:"ttt789",color:"blue",duck:"sauce"}]);
existing.push(["abc",{Ref:"abc",Title:"tttabc",colour:"yellklow",duck:"sauce"}]);
existing.push(["xyz",{Ref:"xyz",Title:"tttabc",colour:"yellklow",duck:"sauce"}]);
existing.push(["123",{Ref:"123",Title:"ttt123",pet:"cat"}]);
var newits = [];
newits.push(["abc",{Ref:"abc",Title:"tttabc",food:"horse"}]);
newits.push(["456",{Ref:"456",Title:"ttt456",pet:"cat",color:"green",cat:"sauce"}]);
newits.push(["def",{Ref:"def",Title:"tttabc",noise:"moo"}]);
var itemsAdded = compareHash(existing,newits);
var itemsRemoved =compareHash(newits,existing);