JavaScript scalający obiekty według id

Jaki jest właściwy sposób scalenia dwóch tablic w Javascript?

Mam dwie tablice (na przykład):

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

Chcę mieć coś takiego:

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

Tam, gdzie dwie tablice są łączone w oparciu o pole „id”, dodatkowe dane są po prostu dodawane.

Próbowałem użyć_.union aby to zrobić, ale po prostu nadpisuje wartości z drugiej tablicy do pierwszej

questionAnswers(7)

yourAnswerToTheQuestion