Como mesclar duas matrizes de objetos JSON - removendo duplicatas e preservando a ordem em Javascript / jQuery?

jsfiddle ligação:http: //jsfiddle.net/vN6fn/1

Suponha que eu tenho esses 2 objetos:

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"}
                   ] }

E o objeto final deve ficar assim:

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

Aqui estão algumas coisas a considerar

obj1 e obj2 podem ou não ter duplicatas

$.extend() substitui objetos,$.merge() não remove duplicatas (eu sei que posso fazer o loop, mas estou procurando uma maneira melhor de fazer isso

questionAnswers(6)

yourAnswerToTheQuestion