Comparer des listes et du texte
Comparez deux listes ligne par ligne : trouvez ce qui est dans les deux, dans une seule ou dans l’une des deux, ou affichez un diff de lignes marqué côte à côte.
Exemples de code
Copiez ces exemples dans votre propre projet. Chacun n'utilise que la bibliothèque standard du langage : il n'y a rien à installer.
const a = ['a', 'b', 'c', 'b']
const b = ['b', 'd']
const exclude = new Set(b)
console.log([...new Set(a)].filter((line) => !exclude.has(line)).join('\n'))Ce qu’il fait
Compare deux listes ligne par ligne. En ensembles : chaque ligne une fois (union), les lignes présentes dans les deux listes (intersection), celles seulement dans A ou seulement dans B, et celles présentes dans une seule des deux. En texte : un diff de lignes qui marque chaque ligne comme inchangée, supprimée ou ajoutée, en vue unifiée ou côte à côte.
Comment l’utiliser
- Saisissez ou collez un élément par ligne dans la Liste A et la Liste B. Un fichier texte peut être déposé dans la liste A.
- Choisissez une opération. Sous Plus, désactivez Sensible à la casse pour que
Pommeetpommesoient égales, ou activez Ignorer les espaces autour pour qu’une espace finale ne rende pas une ligne différente. Le résultat garde les lignes telles que saisies. - Copiez ou téléchargez le résultat. Supprimer les lignes vides retire d’abord les lignes vides des deux listes.
Exemples
Avec la liste A contenant a, b, c, d et la liste B contenant b, c :
A − B donne a et d, A ∩ B donne b et c, et le Diff de lignes marque a et d comme supprimées de A.
Bon à savoir
- Les opérations d’ensembles ignorent l’ordre des lignes et donnent chaque ligne une fois, dans l’ordre de sa première apparition.
- Un diff de lignes compare les listes de haut en bas : une ligne déplacée apparaît supprimée à un endroit et ajoutée à un autre.
- En vue côte à côte, les lignes modifiées partagent une rangée ; une ligne sans partenaire a un côté vide.
- Les lignes qui ne diffèrent que par ce que vous ignorez comptent comme égales et sont montrées comme dans la liste B.
Que signifient les opérations ?
A ∪ B liste chaque ligne présente dans l’une ou l’autre liste, une fois. A ∩ B garde les lignes présentes dans les deux. A − B garde les lignes seulement dans A et B − A celles seulement dans B. La dernière opération garde les lignes présentes dans une seule liste. Chaque résultat est sans répétition et suit l’ordre de la première apparition.
Questions fréquentes
Quelle différence entre une opération d’ensembles et un diff de lignes ?
Une opération d’ensembles compare les listes comme des collections : l’ordre des lignes ne compte pas. Un diff de lignes les compare comme du texte de haut en bas et marque chaque ligne comme inchangée, supprimée ou ajoutée, comme une revue de code.
Puis-je ignorer la casse et les espaces ?
Oui. Sous Plus, désactivez la casse et activez l’ignorance des espaces autour. Les lignes qui ne diffèrent que ainsi comptent comme égales et le résultat les garde telles que saisies.
Cet outil envoie-t-il mes listes quelque part ?
Non. Tout se passe dans votre navigateur. Ce que vous saisissez n’est jamais envoyé à nos serveurs.