El se hace después de Firebug:En Javascript, ¿por qué [1, 2] == [1, 2] o ({a: 1}) == ({a: 1}) es falso?
>>> [1, 2] == [1, 2]
false
>>> ({a : 1}) == ({a : 1})
false
pensé javscript tiene una regla que dice que, si un objeto o matriz tiene las mismas referencias a los mismos elementos, entonces son iguales?
Pero incluso si digo
>>> foo = {a : 1}
Object { a=1}
>>> [foo] == [foo]
false
>>> ({a: foo}) == ({a: foo})
false
¿Hay una manera de hacerlo de modo que se puede hacer la comparación del elemento y volver true
?
literales de objetos crean nuevas instancias, la definición de dos instancias no hace que compartan la misma referencia. – zzzzBov
¿No son los "elementos internos" los que necesitan ser iguales? –