JavaScript fusionando objetos por id

¿Cuál es la manera correcta de combinar dos matrices en Javascript?

Tengo dos matrices (por ejemplo):

var a1 = [{ id : 1, name : "test"}, { id : 2, name : "test2"}]
var a2 = [{ id : 1, count : "1"}, {id : 2, count : "2"}]

Quiero poder terminar con algo como:

var a3 = [{ id : 1, name : "test", count : "1"}, 
          { id : 2, name : "test2", count : "2"}]

Donde se unen los dos arreglos en función del campo 'id' y simplemente se agregan datos adicionales.

Traté de usar_.union para hacer esto, pero simplemente sobrescribe los valores de la segunda matriz en la primera

Respuestas a la pregunta(7)

Su respuesta a la pregunta