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]
6 Réponses :
Vous pouvez simplement utiliser p> chaque code>:
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));
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))
let arr1 = [1, 2, 3, 4] let arr2 = [1, 2] for(let x of arr2) { _.includes(arr1, x) || true; }
Vous pouvez utiliser p> _. Différence code>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
@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?
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));
Pour une complétude supplémentaire, Lodash a un chaque prototype code> également, afin de "complètement" répondre à la question, bien que non pertinente, vous pouvez utiliser
_. Chaque code>.
@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? B> , il convient de mentionner que Lodash a également ce prototype, bien que je voudrais personnellement jamais b> l'utiliser.
Pourquoi ne pas utiliser le pure JS?
Arr2.Every (I => Arr1.Inclut (i)); Code> ...? 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 A> 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?