【JavaScript】forEachの最後に特定の処理をしたい場合 | Sample-Code付き

どうもフロントエンドエンジニアのまさにょんです!

今回は、JavaScriptのArrayメソッドの代表格、forEachで最後に何か特定の処理をしたい場合の記述方法について共有しておきます。

考え方としてはシンプルで、事前にループをcountする変数を用意して、forEach内で++して、Array.length と 一致する状態(ループのLast)になったら処理を実行すると言った実装方法です。

【2022/7/30 追記】次の記事で、forEach()の第二引数であるindexを使って制御する方法も記述しているのでぜひCheckしてみてください!

【 forEachの実行回数を制御する方法 】

Sample-Code

const saitama = [
    "robotama",
    "momo",
    "hakutou",
    "tama",
    "milk",
    "apple",
    "saitama"
];

let loopTimes = 0;
const saitamaLength = saitama.length;
console.log({saitamaLength}); // 出力結果: 7

saitama.forEach( tama => {
    loopTimes++;
    if(saitamaLength === loopTimes) saitama.splice(-1); // forEachがLastの時に実行される!
});

console.log({saitama}); // 出力結果: ['robotama', 'momo', 'hakutou', 'tama', 'milk', 'apple']

console.log("埼玉・Arrayの長さ", saitama.length); // 出力結果: 埼玉・Arrayの長さ 6

まとめ

  1. 事前にループをcountする変数を用意して、forEach内で+1する。
  2. forEachする配列のlengthと、ループのcountが一致したら処理を実行する条件文を記述する。

JavaScript書籍 Ver. 中級-上級者向け

JavaScript書籍 Ver. 初級者向け

最近の投稿