Comment comparer deux tableaux en JavaScript

Rupam Yadav 12 octobre 2023
  1. Array.prototype.equals pour comparer deux tableaux en JavaScript
  2. JSON.stringify() pour comparer les tableaux en JavaScript
  3. Comparer deux tableaux en JavaScript en utilisant des boucles
Comment comparer deux tableaux en JavaScript

Ce tutoriel présente trois façons de comparer des tableaux en JavaScript. Il existe plusieurs façons de le faire, mais les performances peuvent varier.

Array.prototype.equals pour comparer deux tableaux en JavaScript

JavaScript nous permet d’ajouter de nouvelles propriétés et méthodes aux classes existantes. Nous pouvons utiliser Array.prototype pour ajouter notre méthode personnalisée equals dans l’objet Array.

Dans l’exemple ci-dessous, nous allons d’abord vérifier la longueur des deux tableaux et ensuite comparer chaque élément. Nous vérifions également si a1 et a2 sont des instances de Array car si ce n’est pas le cas, elles ne sont pas identiques. Enfin, nous utilisons la méthode pour comparer le premier tableau avec le second par a1.equals(a2).

Exemple :

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));

Production :

Comparing a1 and a2 true
Comparing a1 and a3 false

JSON.stringify() pour comparer les tableaux en JavaScript

Une autre technique pour comparer deux tableaux consiste à les couler d’abord au type de corde et ensuite à les comparer. JSON est utilisé pour transférer des données depuis/vers un serveur web, mais nous pouvons utiliser sa méthode ici. Nous pouvons le faire en utilisant JSON.stringify() qui convertit un Array en une chaîne. Comme maintenant les a1 et a2 sont des chaînes de caractères, nous pouvons utiliser === pour voir si elles sont égales ou non.

Exemple :

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));

Production :

Comparing a1 and a2 true
Comparing a1 and a3 false

Comparer deux tableaux en JavaScript en utilisant des boucles

La mise en boucle est la méthode la plus traditionnelle de comparaison des tableaux en JavaScript, car elle consiste à parcourir les tableaux en boucle, puis à comparer chaque élément entre eux pour vérifier s’ils correspondent.

Pour le rendre plus propre, nous pouvons utiliser des fonctions et ensuite retourner un résultat booléen.

Exemple :

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));

Production :

Comparing a1 and a2 true
Comparing a1 and a3 false
Auteur: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

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

Article connexe - JavaScript Array