cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Pemulangan kod berikut tidak konsisten dengan apa yang anda harapkan.

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???

世界只因有你世界只因有你2843 hari yang lalu560

membalas semua(5)saya akan balas

  • 世界只因有你

    世界只因有你2017-05-19 10:45:32

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

    balas
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:45:32

    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 #🎜🎜#

    balas
    0
  • 某草草

    某草草2017-05-19 10:45:32

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

    balas
    0
  • 高洛峰

    高洛峰2017-05-19 10:45:32

    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

    balas
    0
  • 黄舟

    黄舟2017-05-19 10:45:32

    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

    balas
    0
  • Batalbalas