Głębokie porównanie obiektów / tablic [duplikat]

Możliwy duplikat:
Jak określić równość dwóch obiektów JavaScript?
Porównanie obiektów w JavaScript

Jeśli mam dwie tablice lub obiekty i chcę je porównać, np

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

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

object1 == object2 // false

może to być denerwujące, jeśli otrzymujesz odpowiedź od serwera i próbujesz sprawdzić, czy się zmienił

questionAnswers(2)

yourAnswerToTheQuestion