Sintaxis:
array().compareArrays(arr[, exacto]);
Parámetros:
arr: Array que se comparará con con original.
exacto: Indica si la veridicacion es exacta, si es falso, los Array se ordenan antes de ser comparados. Valor por defecto true.
Ejemplo:
//exacto [1,2].compareArrays([2,1]); // retorna false [1,2].compareArrays([1,2]); // retorna true //inexacto [1,2].compareArrays([2,1], false); // retorna true [1,2].compareArrays([1,2], false); // retorna true
Código:
Array.prototype.compareArrays = function(arr, exacto) {
if (this.length != arr.length) {
return false;
}
if(Object.isUndefined(exacto)) {
exacto = true;
}
var acmp = this.toArray();
var bcmp = arr.toArray();
// si se envia exacto como false, se ordenan los Arrays antes de comparar.
if(!exacto) {
bcmp.sort();
acmp.sort();
}
for (var i = 0; i < bcmp.length; i++) {
if (acmp[i].compareArrays) {
// si el valor actual es un Array, se compara con el mismo metodo.
if(!acmp[i].compareArrays(bcmp[i], exacto)) {
return false;
}
} else if(acmp[i] != bcmp[i]) {
return false;
}
}
return true;
}
