こんにちは、さるまりんです。
JavaScriptのforEach()
メソッドで要素に対して繰り返し実行する処理です。
配列composers
に作曲家の名前name
とそれを表示するか否かを示すshow
の値を持っています。
まずはforEachで全て表示してみます。
次のコードです。
const composers = [{name:"Bach",show:true},{name:"Bartok",show:false},{name:"Mozart",show:true},{name:"Nielsen",show:true},{name:"Ravel",show:false},{name:"Wagner",show:true}];
composers.forEach(function(c){
console.log(c.name);
});
実行すると全ての名前が出力されています。
次はcontinueでshowがtrueでないものをスキップしようとします。
const composers = [{name:"Bach",show:true},{name:"Bartok",show:false},{name:"Mozart",show:true},{name:"Nielsen",show:true},{name:"Ravel",show:false},{name:"Wagner",show:true}];
composers.forEach(function(c){
if (!c.show)continue;
console.log(c.name);
});
実行するとエラーになります。
これcontinueではなくて、returnすることでスキップすることができます。
こんな感じです。
const composers = [{name:"Bach",show:true},{name:"Bartok",show:false},{name:"Mozart",show:true},{name:"Nielsen",show:true},{name:"Ravel",show:false},{name:"Wagner",show:true}];
composers.forEach(function(c){
if (!c.show)return;
console.log(c.name);
});
実行するとshow
がtrue
でない、BartokとRavelが出力されていません。
ちなみにreturn true
でもreturn false
でもスキップすることができるみたい。
JavaScriptでもfor
やwhile
、do-while
のループの構文であればcontinue
を使うことができるのですが、forEach()
は関数なので使えないのかな。
読んでくださってありがとうございました。
それではまた!