Javascript. ¿Una forma óptima de unir 2 conjuntos de objetos como en SQL?

Supongamos que tenemos 2 conjuntos de objetos.

set1 = [{'id':'1', 'x':'1', 'y':'2'}, {'id':'2', 'x':'2', 'y':'2'}]
set2 = [{'id':'1', 'z':'1'}, {'id':'2', 'z':'2'}]

Queremos:

set3 = set1.join(set2).on('id'); 

>> set3 
[{'id':'1', 'x':'1', 'y':'2', 'z':'1'},{'id':'2', 'x':'2', 'y':'2', 'z':'2'}]

¿Cuáles son las herramientas correctas para lograr esta funcionalidad? Mayounderscore ayuda aqui?

Respuestas a la pregunta(3)

Su respuesta a la pregunta