JavaScript синхронизирует два массива (объектов) / находит дельту

У меня есть два массива, старый и новый, которые содержат объекты в каждой позиции. Как бы я синхронизировал или нашел дельту (то есть, что нового, обновлено и удалено из нового массива по сравнению со старым массивом)

var o = [
    {id:1, title:"title 1", type:"foo"},
    {id:2, title:"title 2", type:"foo"},
    {id:3, title:"title 3", type:"foo"}
];

var n = [
    {id:1, title:"title 1", type:"foo"},
    {id:2, title:"title updated", type:"foo"},
    {id:4, title:"title 4", type:"foo"}
];

Используя приведенные выше данные, используя идентификатор в качестве ключа, мыЯ обнаружил, что элемент с идентификатором = 2 имеет обновленный заголовок, элемент с идентификатором = 3 удален, а элемент с идентификатором = 4 является новым.

Существует ли существующая библиотека с полезными функциями, или это случай цикла и внутреннего цикла, сравните каждую строку ... например.

for(var i=0, l=o.length; i

Ответы на вопрос(2)

Ваш ответ на вопрос