Comparación profunda de objetos / matrices [duplicado]

Posible duplicado:
¿Cómo determinas la igualdad para dos objetos de JavaScript?
Comparación de objetos en JavaScript

Si tengo dos matrices u objetos y quiero compararlos, como

object1 = [
 { shoes:
   [ 'loafer', 'penny' ]
  },
  { beers:
     [ 'budweiser', 'busch' ]
  }
]

object2 = [
 { shoes:
   [ 'loafer', 'penny' ]
  },
  { beers:
     [ 'budweiser', 'busch' ]
  }
]

object1 == object2 // false

Esto puede ser molesto si obtiene una respuesta de un servidor y trata de ver si ha cambiado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta