Auf einem assoziativen Array in Javascript / jQuery einen "Diff" machen?

Wenn ich zwei assoziative Arrays habe, was wäre die effizienteste Methode, um einen Diff gegen ihre Werte durchzuführen?

Zum Beispiel gegeben:

  array1 = {
    foreground: 'red',
    shape: 'circle',
    background: 'yellow'
  };

  array2 = {
    foreground: 'red',
    shape: 'square',
    angle: '90',
    background: 'yellow'
  };

Wie würde ich eine gegen die andere prüfen, so dass die Elemente fehlende ode zusätzlic ist das resultierende Array. In diesem Fall würde, wenn ich array1 in array2 vergleichen wollte, Folgendes zurückgegeben:

array3 = {shape: 'circle'}

Whilst, wenn ich array2 in array1 vergleiche, würde es zurückgeben:

array3 = {shape: 'square', angle: '90'}

Vielen Dank im Voraus für Ihre Hilfe