Por que Array.indexOf não encontra objetos com aparência idêntica

Eu tenho matriz com objetos.

Algo assim:

var arr = new Array(
  {x:1, y:2},
  {x:3, y:4}
);

Quando eu tento:

arr.indexOf({x:1, y:2});

Devolve-1.

Se eu tiver cadeias de caracteres ou números ou outro tipo de elementos, mas objeto, entãoindexOf() funciona bem.

Alguém sabe por que e o que devo fazer para pesquisar elementos de objeto na matriz?

Claro, quero dizer as maneiras, exceto fazer chaves hash string para objetos e dar a matriz ...

questionAnswers(8)

yourAnswerToTheQuestion