javascript - Le code renvoyé suivant ne correspond pas à ce que vous attendiez. Comment le résoudre?
世界只因有你
世界只因有你 2017-05-19 10:43:32
0
5
539
function has(list, item) {
  list.forEach(v => {
    if (v === item) {
        return true
    }
  })
  return false
}

console.info(has([1,2,3], 1))

Comment rendre le résultat vrai ???

世界只因有你
世界只因有你

répondre à tous(5)
世界只因有你

1. La boucle forEach ne peut pas être interrompue
2. Utilisez la boucle for
3. Utilisez indexOf
4.

过去多啦不再A梦

La méthode forEach ne peut pas interrompre l'exécution et traversera toujours tous les membres
Cela peut être faitforEach方法无法中断执行,总是会将所有成员遍历完
可以这样

return list.indexOf(item) !== -1;

或者用for rrreee

Ou utilisez la boucle for🎜
某草草

La fonction flèche n'a pas sa propre valeur, mais hérite de la portée environnante.

小葫芦

En fait, ce n’est pas que la personne qui pose la question ne sait pas comment implémenter cette fonction simple d’une autre manière, il utilise simplement forEach pour le faire

function has(list, item) {
    let flag = false
    list.forEach(v => {
        if (v === item) {
            flag = true
        }
    })
    return flag
}

console.info(has([1, 2, 3], 1))

Parce que return truereturn false de forEach n'est pas la fonction de valeur de retour, nous ne pouvons donc utiliser que flag

黄舟
function has(list, item){
    var flag = false;
    list.forEach(v => {
        if (v === item) {
            flag = true;
        }
    });
    return flag;
}

console.log(has([1, 2, 3], 1));
// true
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal