Confronta due array in JavaScript
-
Array.prototype.equals
per confrontare due array in JavaScript -
JSON.stringify()
per confrontare gli array in JavaScript - Confronta due array in JavaScript utilizzando i loop
Questo tutorial introduce tre modi per confrontare gli array in JavaScript. Esistono diversi modi per eseguire questa operazione, ma le prestazioni possono variare.
Array.prototype.equals
per confrontare due array in JavaScript
JavaScript ci fornisce la capacità di aggiungere nuove proprietà e metodi alle classi esistenti. Possiamo usare Array.prototype
per aggiungere il nostro metodo personalizzato equals
nell’oggetto Array.
Nell’esempio seguente, controlleremo prima la lunghezza di entrambi gli array e quindi confronteremo ogni elemento. Stiamo anche controllando se a1
e a2
sono istanze Array
perché se non lo sono, non sono identiche. Infine, usiamo il metodo per confrontare il primo array con il secondo per a1.equals(a2)
.
Esempio:
var a1 = [1, 2, 3];
var a2 = [1, 2, 3];
var a3 = [1, 2, 3, 4];
Array.prototype.equals = function(getArray) {
if (this.length != getArray.length) return false;
for (var i = 0; i < getArray.length; i++) {
if (this[i] instanceof Array && getArray[i] instanceof Array) {
if (!this[i].equals(getArray[i])) return false;
} else if (this[i] != getArray[i]) {
return false;
}
}
return true;
};
console.log('Comparing a1 and a2', a1.equals(a2));
console.log('Comparing a1 and a3', a1.equals(a3));
Produzione:
Comparing a1 and a2 true
Comparing a1 and a3 false
JSON.stringify()
per confrontare gli array in JavaScript
Un’altra tecnica per confrontare due array consiste nel lanciarli prima nel tipo di stringa e poi confrontarli. JSON
viene utilizzato per trasferire dati da/verso un server web, ma qui possiamo utilizzare il suo metodo. Possiamo farlo utilizzando JSON.stringify()
che converte un Array
in una stringa
. Poiché ora sia a1
che a2
sono stringhe, possiamo usare ===
per vedere se sono uguali o meno.
Esempio:
var a1 = [1, 2, 3];
var a2 = [1, 2, 3];
var a3 = [1, 2, 3, 4];
console.log('Comparing a1 and a2', JSON.stringify(a1) === JSON.stringify(a2));
console.log('Comparing a1 and a3', JSON.stringify(a1) === JSON.stringify(a3));
Produzione:
Comparing a1 and a2 true
Comparing a1 and a3 false
Confronta due array in JavaScript utilizzando i loop
Il looping è il modo più tradizionale di confrontare gli array in JavaScript perché implica il looping degli array e quindi il confronto di ogni singolo elemento tra loro per verificare se corrispondono.
Per renderlo più pulito, possiamo usare le funzioni e quindi restituire booleano
come risultato.
Esempio:
var a1 = [1, 2, 3];
var a2 = [1, 2, 3];
var a3 = [1, 2, 3, 4];
const getResult = function(a1, a2) {
var i = a1.length;
if (i != a2.length) return false;
while (i--) {
if (a1[i] !== a2[i]) return false;
}
return true;
};
console.log('Comparing a1 and a2', getResult(a1, a2));
console.log('Comparing a1 and a3', getResult(a1, a3));
Produzione:
Comparing a1 and a2 true
Comparing a1 and a3 false
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn