Confronta due array in JavaScript
-
Array.prototype.equalsper 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