for-ofとforEachとmapの使い分け

1. for-of

for (const v of ["a", "b", "c"]) {
   if (v === 'x') {
       break;
   }
   console.log(v);
}
  • 長所: 速い 💨
  • 長所: 途中でbreakできる

参考

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/for...of

2. forEach()

["a", "b", "c"].forEach((v) => {
  console.log(v);
});

参考

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

3. map()

var nums = [1, 2, 3].map((v) => {
  return v * 10;
});

console.log(nums);
 
  • 長所: 値をreturnできて、新しい配列を作れる
  • 短所: 遅い
  • 短所: Set/Mapなどをループできない。配列にしか使えない
  • 短所: 新しい配列を使わないならmap()を使うべきではない

    map() を使用すべきではない場合

    map は新しい配列を作成するので、返された配列を使わない場合、map を使うのはパターンに合いません。代わりに forEach または for-of を使用してください。

    https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/map#when_not_to_use_map

参考

補足: Map/Setなどのループ

var set = new Set([1, 2, 3]);
var map = new Map([
  ["a", 1],
  ["b", 2],
  ["c", 3],
]);

for (var v of set) {
  console.log(v);
}

map.forEach((v, k) => {
  console.log(k, v);
});

参考

https://stackoverflow.com/questions/50844095/should-one-use-for-of-or-foreach-when-iterating-through-an-array


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2021-02-23 (火) 06:36:45