J'ai ce code ci-dessous et j'ai une erreur "ne peut lire" la longueur "de non définie", et je ne sais pas pourquoi. Avez-vous une idée de comment puis-je résoudre ce problème? P> p>
6 Réponses :
Vous déclarez une variable nommée oies code> ici:
function gooseFilter(array) {
au lieu de
function gooseFilter(geese) {
appelez Goosefilter (tableau); avec deuxième argument
Vous recherchez Intersection
Vous avez défini la fonction Vous devez passer les deux tableaux définis à votre fonction:
Goosefilter code> qui accepte deux arguments, mais lors de l'appelant, vous n'acceptez qu'un seul paramètre:
Goosefilter (tableau) CODE>. P>
Goosefilter (tableau, oies) Code> P>
Vous oubliez de passer le deuxième argument. Et votre déclaration de retour devrait être hors de boucle. Considérez l'extrait suivant:
p>
let geese = ["African", "Roman Tufted", "Toulouse", "Pilgrim", "Steinbacher" ]; let array = ["Mallard", "Hook Bill", "African", "Crested", "Pilgrim", "Toulouse", "Blue Swedish" ]; function gooseFilter(array, geese) { var names = []; for (let i = 0; i < geese.length; i++) { if (array.includes(geese[i])) { names.push(geese[i]) } } return names; } console.log(gooseFilter(array, geese));
Il y a 2 erreurs dans votre code:
Goosefilter code> avec 2 paramètres, mais appelez avec un seul tableau code>, cette cause oies code> est non défini code> indéfini . C'est pourquoi vous avez eu une erreur li>
ol>
'longueur' de non défini code> p>
blockQuote>
- vous
retour code> dans le pour code> boucle. Cela fera l'arrêt de la boucle après le premier élément. Li>
ol> Le code doit être p>
P>
let geese = ["African", "Roman Tufted", "Toulouse", "Pilgrim",
"Steinbacher"];
let array = ["Mallard", "Hook Bill", "African", "Crested", "Pilgrim",
"Toulouse", "Blue Swedish"];
function gooseFilter(_array, _geese) { // parameter # variable
var name = [];
for (let i=0; i<_geese.length; i++) {
if (_array.includes(_geese[i])) {
name.push(_geese[i])
}
// return name; <-- Return here will stop the loop after the first item
}
return name; // return here instead
}
const rs = gooseFilter(array, geese)
console.log(rs)
Goosefilter (tableau, oies); code> au lieu de
Goosefilter (tableau); code>
Vous devrez également mettre le retour de la boucle. Votre code de code est simplifié à
Const Résultat = geese.filter (E => Array.Ininclut (E)) Code>