VSフォーフォーマー


こんにちは👋 ,
新しい蜂は、混乱するかもしれませんfor, forEach and map . この記事ではfor, forEach and map .

for


ISループは、多くのプログラミング言語で見つけることができる標準のループです.
構文はこちら
for(;;)
ループの反復処理を制御します.反復を継続することができます.

foreachとマップ

forEach and map 両方とも配列メソッドです.配列の上でそれらを使用することができます.
mapはコールバック関数を受け取り、その関数を配列の各要素に対して実行し、結果の配列を返す.
const list = [1,2,3,4]
const inc = x => x + 1
const result = list.map(inc) 
result // [2,3,4,5]
マップのように、foreachもコールバック関数を受け取り、その関数を配列内のすべての要素に対して実行します.
const list = [1,2,3,4]

const inc = x => x + 1
const printIncrementedValue = x => console.log(x + 1)

const result = list.forEach(inc) 
result //undefined
list.forEach(printIncrementedValue) // 2,3,4,5
list.map(printIncrementedValue) // prints 2,3,4,5 and returns [undefined, undefined, undefined, undefined]

選択方法


あなたがリストを変換するか、結果を期待するならば、あなたは選ぶことができますmap
const strToDate = str => new Date(str)
const list = [1648989124036, 1648989124037, 1648989124038]
list.map(strToDate) // You will get date objects
あなたがどんなリターンを期待していないか、そして、あなたはちょうどそれから配列の上で機能を実行したいならばforEach 良いフィット
const list = [1648989124036, 1648989124037, 1648989124038]
list.forEach(console.log) // prints array
配列の繰り返しを制御したい場合や配列なしの反復処理を行う場合は' for 'を選択します
最良の例は、配列内の要素を見つけることです.マップはこのケースに適合しませんし、foreachは動作しませんので、制御をしていないので、要素を見つけた後に反復を中断できません.しかし、ループのために、我々がそれを見つけるならば、我々は壊れることができます.
const list = [1,2,3,4]

const find = (arr, ele) => {
 for(let i = 0; i < arr.length; i++){
  if(arr[i] === ele)
   return true
 }
 return false
}
find(list, 2) // Iteration will stop once element is found and returns true.
歓声
ハッピーコーディング!