jsfiddle Link: http://jsfiddle.net/vN6fn/1/Jak scalić dwie tablice obiektów JSON - usuwanie duplikatów i zachowanie kolejności w JavaScript/jQuery?
Przyjmijmy, mam te 2 obiekty:
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"}
] }
A ostateczny obiekt powinien wyglądać następująco:
var final = { data: [
{id:1, comment:"comment1"},
{id:2, comment:"comment2"},
{id:3, comment:"comment3"},
{id:4, comment:"comment4"}
] }
Oto kilka rzeczy do rozważenia:
- obj1 i obj2 może lub nie może mieć duplikaty
$.extend()
zastępuje obiektów $.merge()
nie usuwa duplikaty (wiem, że mogę zrobić dla pętli, ale szukam lepszy sposób to zrobić).
Nie zachowałby średniej kolejności (3, 4, 5, 1, 2), ponieważ obiekt 1 jest pierwszy? –
Przepraszam, że cię zdezorientować, mogę zmienić numerację obiektów. – Sherzod
@sshshames Hm, to nie wyjaśniło mojego zamieszania. Co przez to rozumiesz? –