-1

数時間前にこの質問を投稿しました: Simplifying this JavaScript-switch

私が持っている追加の質問は、次のとおりです。インデックスを指定して配列から特定の要素を取得するにはどうすればよいですか? 巨大なスイッチを使用せずに、それぞれにカスタムメッセージを書きたい:

switch (lotUser | winnendLot) {
    case lotUser === winnendLot[0]:
        console.log("Je hebt " + naamArtikel[0] + " gewonnen");
        break;
    case lotUser === winnendLot[1]:
        console.log("Je hebt " + naamArtikel[1] + " gewonnen");
        break;
    case lotUser === winnendLot[2]:
        console.log("Je hebt " + naamArtikel[2] + " gewonnen");
        break;
    case lotUser === winnendLot[3]:
        console.log("Je hebt " + naamArtikel[3] + " gewonnen");
        break;
    case lotUser === winnendLot[4]:
        console.log("Je hebt " + naamArtikel[4] + " gewonnen");
        break;
    case lotUser === winnendLot[5]:
        console.log("Je hebt " + naamArtikel[5] + " gewonnen");
        break;
    case lotUser === winnendLot[6]:
        console.log("Je hebt " + naamArtikel[6] + " gewonnen");
        break;
    case lotUser === winnendLot[7]:
        console.log("Je hebt " + naamArtikel[7] + " gewonnen");
        break;
    default:
        console.log("You do not win!");
        break;
}

lotUser単一のケース内の配列インデックスで異なる応答を提供することは可能ですか? 多分私はif/elseを使うことができます。

4

2 に答える 2

0

switch ステートメントの使用法について誤解しているようです。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switchを読むことをお勧めします 。いずれにせよ、あなたの状況ではスイッチは適切ではないようです。やりたいことは、配列内のすべての要素のチェックを実行し、それが真の場合に配列値 it を含むステートメントを出力することです。その場合、次のアプローチが推奨されます。

for(var x=0; x<winnendLost.length; x++)
{
  if(lotUser === winnendList[x])
    console.log("Je hebt " + winnendList[x] + " gewonnen");
};
于 2013-10-24T19:56:21.100 に答える