Igual //Repositório JavaScript
Descrição
Testa se dois ou mais objetos são iguais, aceita qualquer tipo de objeto, inclusive arrays multidimensionais.
Criado: 2005.12.26
Criado: 2005.12.26
Código (Download)
//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/geral/equals [rev. #1]
equals = function(a, b){
for(var j, o = arguments, i = o.length, c = a instanceof Object; --i;)
if(a === (b = o[i]))
continue;
else if(!c || !(b instanceof Object))
return false;
else for(j in b)
if(!equals(a[j], b[j]))
return false;
return true;
};
Exemplo (Exemplo)
<script type="text/javascript">
//<![CDATA[
document.write(
"equals(1, 2, 3, 4) = ".bold(), equals(1, 2, 3, 4), "<br />",
"equals(1, 1, 1, 1) = ".bold(), equals(1, 1, 1, 1), "<br />",
"equals({a: 1, b: 0}, {b: 0, a: 1}) = ".bold(), equals({a: 1, b: 0}, {b: 0, a: 1}), "<br />",
"equals({a: 1, b: 0}, {a: 1, b: null}) = ".bold(), equals({a: 1, b: 0}, {a: 1, b: null}), "<br />",
"equals([1, 2, 3], [3, 2, 1]) = ".bold(), equals([1, 2, 3], [3, 2, 1]), "<br />",
"equals([1, 2, 3], [1, 2, 3]) = ".bold(), equals([1, 2, 3], [1, 2, 3]), "<br />",
"equals([[1],2,[3]], [1,2,3]) = ".bold(), equals([[1],2,[3]], [1,2,3]), "<br />"
);
//]]>
</script>
Ajuda
- equals(a: Object, b: Object, [...]): Boolean
-
Analisa dois ou mais objetos e retorna true se eles são iguais (contém as mesmas propriedades com os mesmos valores).
- a
- objeto a ser analisado
- b
- objeto a ser analisado
- ...
- quantidade infinita de objetos
Ranque (Votos: 7)
2.00