코딩 공부/JAVASCRIPT

forEach(), for of, for in, map()을 알아보자

천서리 2023. 3. 5. 03:20
QUOTE THE DAY

“ 당신이 6개월 이상 한 번도 보지 않은 코드는 다른 사람이 다시 만드는 게 훨씬 더 나을 수 있다. ”

- 이글슨 (Eagleson)
반응형

새롭게 배운 배열 데이터 불러오기

  • 배열은 인덱스를 가지는 복수의 자료를 저장할 수 있는 자료구조 입니다.
  • 데이터는 순차적으로 저장되며 중복이 가능합니다.
  • 저장된 데이터에는 인덱스를 이용하여 접근이 가능합니다.

 

자바스크립트에서 배열의 사용법을 알아보겠습다.

 


01. 배열 : 데이터 불러오기 : forEach()

forEach문을 사용해 배열값을 실행하는 방법입니다.

 

{
    const num =[100,200,300,400,500];

    num.forEach(function(element){
        document.write(element);
    });
}


// 결과 : 100 200 300 400 500

forEach

forEach 메서드도 배열을 순회하기 위해 사용되지만,

기본적인 for 반복문과는 다른 방식으로 함수를 사용합니다.

 

forEach 메서드는 다음 매개변수(parameter)와 함께 배열의 각 요소에 적용하게 될 콜백 함수(callback function)를 전달합니다.

 

  • Current Value (명명된 매개변수) - 처리할 현재 요소
  • Index (선택적 매개변수) - 처리할 현재 요소의 인덱스
  • Array (선택적 매개변수) - forEach 메서드를 호출한 배열

 

forEach : 화살표 함수

num.forEach((el) => {
	document.write(el);
});


// 결과 : 100 200 300 400 500

 

forEach : 화살표 함수 : 괄호 생략

num.forEach(el => {
	document.write(el);
});


// 결과 : 100 200 300 400 500

 

forEach : 화살표 함수 :  중괄호 생략

num.forEach(el => document.write(el));


// 결과 : 100 200 300 400 500

 

forEach (값, 인덱스, 배열)

num.forEach(function(element, index, array){
	document.write(element);
	document.write(index);
	document.write(array);
})


// 결과 : 100 0 100,200,300,400,500
// 	    200 1 100,200,300,400,500
//	    300 2 100,200,300,400,500
//	    400 3 100,200,300,400,500
//	    500 4 100,200,300,400,500

 


02. 배열 : 데이터 불러오기 : for of

for of문은 요소값을 불러오는 방법입니다.

 

for...of 명령문은 반복가능한 객체 (ArrayMapSetStringTypedArrayarguments 객체 등을 포함)에 대해서 반복하고 각 개별 속성값에 대해 실행되는 문이 있는 사용자 정의 반복 후크를 호출하는 루프를 생성합니다.

{
    const arr = [100,200,300,400,500];

    for(let i of arr){
        document.write(i);
    }
}


// 결과 : 100 200 300 400 500

 


03. 배열 : 데이터 불러오기 : for in

for in문은 index값을 불러오는 방법입니다.

 

for...in문은 상속된 열거 가능한 속성들을 포함하여 객체에서 문자열로 키가 지정된 모든 열거 가능한 속성에 대해 반복합니다. (Symbol로 키가 지정된 속성은 무시합니다.)

 

{
    const arr = [100,200,300,400,500];

    for(let i in arr){
        document.write(i);
    }
}


// 결과 : 01234

 


04. 배열 : 데이터 불러오기 : map()

map을 사용해 데이터를 불러오는 방법입니다.

 

Map 객체는 키-값 쌍과 키의 원래 삽입 순서를 기억합니다.

모든 값(객체 및 원시 값 모두)은 키 또는 값으로 사용될 수 있습니다.

{
    const num = [100,200,300,400,500];

    num.map(function(el, i, a){
        console.log(el);
        console.log(i);
        console.log(a);
    });
}


// 결과 : 100 0 100,200,300,400,500
// 	    200 1 100,200,300,400,500
//	    300 2 100,200,300,400,500
//	    400 3 100,200,300,400,500
//	    500 4 100,200,300,400,500

map()

  • map 객체는 키-값 쌍인 집합이다.
  • 한 map에서의 키는 오직 단 하나만 존재 합니다. 이는 map 집합의 유일성이다.
  • map 객체는 키-값 쌍으로 반복됩니다.
  • for...of 루프는 각 반복에 대해 [key, value]로 이루어진 멤버가 2개인 배열을 반환합니다. 반복은 삽입한 순서대로 발생합니다. 즉, set() 메서드로 맵에 처음 삽입한 각각의 키-값 쌍 순서와 대응됩니다.

forEach와 map()의 차이점

forEach()가 배열 요소마다 한 번씩 주어진 함수(콜백)를 실행하는 것과 달리,
map()은 배열 내의 모든 요소 각각에 대하여 주어진 함수(콜백)를 호출한 결과를 모아 새로운 배열을 반환한다는 특징을 가지고 있다.

반응형
Adventure Time - BMO