Comparação profunda de objetos / matrizes [duplicados]

Duplicata Possível:
Como você determina a igualdade para dois objetos JavaScript?
Comparação de objetos em JavaScript

Se eu tiver dois arrays ou objetos e quiser compará-los, como

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

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

object1 == object2 // false

isso pode ser irritante se você estiver recebendo uma resposta de um servidor e tentando ver se ele foi alterado

questionAnswers(2)

yourAnswerToTheQuestion