javascript - Pemulangan kod berikut tidak konsisten dengan apa yang anda harapkan.
世界只因有你
世界只因有你 2017-05-19 10:43:32
0
5
565
function has(list, item) {
  list.forEach(v => {
    if (v === item) {
        return true
    }
  })
  return false
}

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

Bagaimana untuk menjadikan hasilnya benar???

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

membalas semua(5)
世界只因有你

1. Gelung forEach tidak boleh diganggu
2. Gunakan indexOf
4

过去多啦不再A梦

Kaedah forEach tidak boleh mengganggu pelaksanaan dan akan sentiasa melintasi semua ahli
Anda boleh melakukan iniforEach方法无法中断执行,总是会将所有成员遍历完
可以这样

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

或者用for rrreee

Atau gunakan untuk gelung #🎜🎜#
某草草

Fungsi anak panah tidak mempunyai nilai ini sendiri, tetapi mewarisi dari skop sekeliling.

小葫芦

Sebenarnya, bukan penyoal tidak tahu bagaimana untuk melaksanakan fungsi mudah ini dengan cara lain, dia hanya menggunakan forEach untuk melakukannya

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

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

Oleh kerana return truereturn false forEach bukan fungsi nilai pulangan, jadi kita hanya boleh menggunakan bendera

黄舟
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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan