0
votes

Existe-t-il une fonction Lodash pour comparer deux tableaux et retourner true uniquement si toutes les valeurs de Arr2 sont présentes dans ARR1?

Je dois comparer deux tableaux et retourner vrai si seul le tableau 1 contient toutes les valeurs de tableau 2. Quelle est la fonction LohaSh appropriée pour cela?

let arr1 = [1, 2, 3, 4]
let arr2 = [1, 2] 
let arr3 = [1, 5] 


5 commentaires

Pourquoi ne pas utiliser le pure JS?


Arr2.Every (I => Arr1.Inclut (i)); ...? Y a-t-il une raison d'utiliser Lodash ici?


Dupliqué possible de Vérifiez si un tableau est sous-ensemble d'un autre tableau et Vérifiez si la matrice contient tous les éléments d'un autre tableau


Depuis que vous avez choisi une réponse non-lodash, mentionner "Lodash" dans le titre et les balises semble être non pertinente et trompeuse maintenant.


Désolé, j'ai trouvé une solution dans la section Commentaires, mais il n'y avait pas de réponse directe! Qu'est-ce que je devrais faire maintenant?


6 Réponses :


0
votes

Vous pouvez simplement utiliser chaque code>:

p>

let arr1 = [1, 2, 3, 4];
let arr2 = [1, 2];
let arr3 = [1, 5];

const allElements = (a1, a2) => a2.every(e => a1.includes(e));
console.log(allElements(arr1, arr2));
console.log(allElements(arr1, arr3));


0 commentaires

0
votes

Il n'y a pas besoin de loadash ici simplement utilisez JavaScript natif TRAY # Chaque code> méthode avec Array # Comprend code> Méthode

p>

function compareArray(arr1, arr2) {
  return arr2.every(v => arr1.includes(v))
}

let arr1 = [1, 2, 3, 4]
let arr2 = [1, 2]
let arr3 = [1, 5]

console.log(compareArray(arr1, arr2))
console.log(compareArray(arr1, arr3))


0 commentaires

0
votes
let arr1 = [1, 2, 3, 4]
let arr2 = [1, 2] 

for(let x of arr2) {
    _.includes(arr1, x) || true;
}

0 commentaires

0
votes

Vous pouvez utiliser _. Différence code>

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>


2 commentaires

@briosheje Vous avez raison. J'ai mal compris. Je n'ai pas mis à jour la réponse


Comment votre réponse diffère-t-elle de la mienne?



2
votes

Juste pour la complétude, vous pouvez prendre un définir code> et comparer avec SET # a code> .

p>

let arr1 = [1, 2, 3, 4],
    arr2 = [1, 2],
    arr3 = [1, 5],
    base = new Set(arr1);

console.log(arr2.every(Set.prototype.has, base));
console.log(arr3.every(Set.prototype.has, base));


3 commentaires

Pour une complétude supplémentaire, Lodash a un chaque prototype également, afin de "complètement" répondre à la question, bien que non pertinente, vous pouvez utiliser _. Chaque .


@briosheje, pourquoi devrais-je utiliser une fonction d'un travail de cadre, si j'ai une fonction qui est originaire de la langue dans la langue?


Je suis d'accord avec vous et je n'utiliserais pas cela non plus, cependant, la question est y a-t-il une fonction Lohash pour comparer deux tableaux et revenir true uniquement si toutes les valeurs de Arr2 sont présentes dans ARR1? , il convient de mentionner que Lodash a également ce prototype, bien que je voudrais personnellement jamais l'utiliser.



0
votes

Vous pouvez utiliser _. Différence dans telle manière: xxx


0 commentaires