¿Cómo fusionar dos matrices de objetos JSON, eliminando duplicados y preservando el orden en Javascript / jQuery?

jsfiddle enlace:http: //jsfiddle.net/vN6fn/1

Supongo que tengo estos 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"}
                   ] }

Y el objeto final debería verse así:

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

Aquí hay algunas cosas a considerar:

obj1 y obj2 pueden tener o no duplicados

$.extend() reemplaza objetos,$.merge() no elimina duplicados (sé que puedo hacer bucles, pero estoy buscando una mejor manera de hacerlo).

Respuestas a la pregunta(6)

Su respuesta a la pregunta