Existe-t-il un moyen de faire correspondre plusieurs tableaux et de supprimer des chaînes similaires?Tableau de correspondance Javascript
array1 = ["apple", "cherry", "strawberry"];
array2 = ["vanilla", "chocolate", "strawberry"];
Existe-t-il un moyen de faire correspondre plusieurs tableaux et de supprimer des chaînes similaires?Tableau de correspondance Javascript
array1 = ["apple", "cherry", "strawberry"];
array2 = ["vanilla", "chocolate", "strawberry"];
Votre question n'est pas très clair alors voici deux solutions:
Compte tenu ["apple", "cherry", "strawberry"]
et ["vanilla", "chocolate", "strawberry"]
voulez-vous ["apple", "cherry", "strawberry", "vanilla", "chocolate"]
:
function combineWithoutDuplicates(array1, array2) {
var exists = {};
var unique = [];
for(var i = 0; i < array1.length; i++) {
exists[array1[i]] = true;
unique.push(array1[i]);
}
for(var i = 0; i < array2.length; i++) {
if(!exists[array2[i]]) {
unique.push(array2[i]);
}
}
return unique;
}
Ou voulez-vous ["vanilla", "chocolate"]
(supprime les doublons de array2
) :
function removeDuplicates(array1, array2) {
var exists = {};
var withoutDuplicates = [];
for(var i = 0; i < array1.length; i++) {
exists[array1[i]] = true;
}
for(var i = 0; i < array2.length; i++) {
if(!exists[array2[i]]) {
withoutDuplicates.push(array2[i]);
}
}
return withoutDuplicates;
}
Tableau intersecte
Une intersection des tableaux ci-dessus renverrait '[" apple "," cherry "," strawberry "]'. Ce qu'il veut, c'est '(A ∪ B) - (A ∩ B)' –
Que voulez-vous dire par la même, et dont tableau supprimons vous? Tous les deux? Notez que vous n'avez aucune correspondance exacte dans les tableaux actuels, donc je me demande comment vous définissez similaire. – user113716
Oups, erreur d'orthographe. array1 est l'original, donc supprimez les chaînes correspondantes de array2. – Alex