第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript“If 語句”不返回真值

JavaScript“If 語句”不返回真值

瀟瀟雨雨 2023-08-24 10:36:45
我編寫了一個簡單的函數(shù),通過循環(huán)數(shù)組并比較值來檢查提供的注釋是否有效。代碼總是返回false,我不確定為什么?item.split("/")[1] == note當(dāng)我單獨(dú)運(yùn)行代碼時,它會返回true(帶有 note = "C" ),那么為什么我的函數(shù)總是返回false?const chromatic = ["A", "A#/Bb", "B/Cb", "B#/C", "C#/Db", "D", "D#/Eb", "E", "E#/Fb", "F", "F#/Gb", "G", "G#/Ab"];const isValidNote = (note) => {  chromatic.forEach((item) => {    if (item.split("/").length > 1) {      console.log(item.split("/")[1] == note); // logs true on 3rd iteration      if (item.split("/")[0] == note) return true;      if (item.split("/")[1] == note) return true;    } else if (item == note) {      return true;    }  });  return false;}console.log(isValidNote("C"));
查看完整描述

2 回答

?
Qyouu

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個贊

forEach忽略其回調(diào)返回的任何值。請改用for循環(huán),以便return返回到 的調(diào)用者isValidNote,而不是被 忽略forEach:


const chromatic = ["A", "A#/Bb", "B/Cb", "B#/C", "C#/Db", "D", "D#/Eb", "E", "E#/Fb", "F", "F#/Gb", "G", "G#/Ab" ];


const isValidNote = (note)=> {


    for (const item of chromatic) {

        if(item.split("/").length > 1){

            if(item.split("/")[0] == note) return true;

            if(item.split("/")[1] == note) return true;

        }

        else if(item == note){

            return true;

        }

    }

    return false;

}


console.log(isValidNote("C"));


或者,更簡潔地說:


const chromatic = ["A", "A#/Bb", "B/Cb", "B#/C", "C#/Db", "D", "D#/Eb", "E", "E#/Fb", "F", "F#/Gb", "G", "G#/Ab" ];


const isValidNote = (note)=> {


    for (const item of chromatic) {

        const allNotes = item.split("/");

        if (allNotes.includes(note)) {

            return true;

        }

    }

    return false;

}


console.log(isValidNote("C"));


或者與.some:


const chromatic = ["A", "A#/Bb", "B/Cb", "B#/C", "C#/Db", "D", "D#/Eb", "E", "E#/Fb", "F", "F#/Gb", "G", "G#/Ab" ];


const isValidNote = note => chromatic.some(

  item => item.split("/").includes(note)

);


console.log(isValidNote("C"));


查看完整回答
反對 回復(fù) 2023-08-24
?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個贊

從forEach()回調(diào)返回只是繼續(xù)循環(huán),它不會從isValidNote()函數(shù)返回。


使用some()而不是forEach(). 如果任何回調(diào)返回 true,則它返回 true。


您還可以使用 來簡化回調(diào)內(nèi)的條件includes()。


const chromatic = ["A", "A#/Bb", "B/Cb", "B#/C", "C#/Db", "D", "D#/Eb", "E", "E#/Fb", "F", "F#/Gb", "G", "G#/Ab"];


const isValidNote = note => chromatic.some(item => item.split("/").includes(note));


console.log(isValidNote("C"));


查看完整回答
反對 回復(fù) 2023-08-24
  • 2 回答
  • 0 關(guān)注
  • 233 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號