for vs forEach vs 지도

안녕하세요 👋 ,

Javascript 새 꿀벌은 for, forEach and map에서 혼동될 수 있습니다. 이 기사에서는 for, forEach and map의 차이점을 설명합니다.

~을 위한



For is 루프는 많은 프로그래밍 언어에서 찾을 수 있는 표준 루프입니다.

구문은 다음과 같습니다.

for(;;)


for 루프에서 반복을 제어할 수 있습니다. 반복을 계속하거나 조건부로 중단할 수 있습니다.

forEach 및 지도


forEachmap는 모두 배열 방법입니다. 배열에 있는 것만 사용할 수 있습니다.

맵은 콜백 함수를 수락하고 배열의 모든 요소에서 해당 함수를 실행하고 결과 배열을 반환합니다.

const list = [1,2,3,4]
const inc = x => x + 1
const result = list.map(inc) 
result // [2,3,4,5]


map과 마찬가지로 forEach도 콜백 함수를 받아들이고 배열의 모든 요소에 대해 해당 함수를 실행하며 map과 같은 것은 반환하지 않습니다.

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'를 선택해야 합니다.

한 가지 가장 좋은 예는 배열에서 요소를 찾는 것입니다. map 은 이 경우에 적합하지 않으며 forEach 는 작동할 것입니다. 요소를 찾은 후 반복을 중단할 수 없도록 제어할 수 없기 때문입니다. 그러나 for 루프를 사용하면 찾으면 중단할 수 있습니다.

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.


건배,
즐거운 코딩하세요!

좋은 웹페이지 즐겨찾기