Как объединить два массива объектов JSON - удаление дубликатов и сохранение порядка в Javascript / jQuery?

jsfiddle ссылка: http://jsfiddle.net/vN6fn/1/

Предположим, у меня есть эти 2 объекта:

var obj1 = { data: [ 
                      {id:1, comment:"comment1"},
                      {id:2, comment:"comment2"},
                      {id:3, comment:"comment3"}
                   ] }

var obj2 = { data: [ 
                      {id:2, comment:"comment2"},
                      {id:3, comment:"comment3"},
                      {id:4, comment:"comment4"}
                   ] }

И последний объект должен выглядеть так:

var final = { data: [ 
                      {id:1, comment:"comment1"},
                      {id:2, comment:"comment2"},
                      {id:3, comment:"comment3"},
                      {id:4, comment:"comment4"}
                   ] }

Вот некоторые вещи, которые следует учитывать:

  • obj1 и obj2 может иметь или не иметь дубликатов

$. extend () заменяет объекты, $. merge () не удаляет дубликаты (я знаю, что могу сделать цикл for, но я ' я ищу лучший способ сделать это).

8
задан Sherzod 3 February 2012 в 21:43
поделиться