본문 바로가기

코딩/Javascript

자바스크립트 - 배열의 각 요소의 인덱스와 요소를 새로운 배열에 출력하기 (entries() 함수)

반응형

['a', 'b', 'c']라는 배열에서 각 요소의 인덱스와 요소의 값을 배열에 저장하고 싶을 때,

(예: [0, 'a']) entries() 함수를 사용하면 된다.

 

 

예제: entries() 함수의 반환값 알아보기

const arr = ['a', 'b', 'c'];

const iterator = arr.entries();

console.log(iterator); // Object [Array Iterator] {}

entries() 함수는 Array Iterator라는 객체를 반환한다.

 

 

 

예제: entries()의 반환값인 Array Iterator 객체에 next() 함수 호출 시

const arr = ['a', 'b', 'c'];

const iterator = arr.entries();

console.log(iterator.next()) // { value: [ 0, 'a' ], done: false }

Array Iterator 객체가 지니고 있는 next()라는 함수를 호출 시,

위와 같이 출력된 객체에서 첫 번째 배열의 요소의 인덱스와 요소를 볼 수 있다.

next() 함수를 한 번 더 호출 시, 두번째 요소의 정보가 담긴 객체를 반환한다, { value: [ 1, 'b' ], done: false }

 

 

 

예제: next() 함수 호출 후 value 키로 배열의 요소의 인덱스와 요소를 새로운 배열에 출력하기

const arr = ['a', 'b', 'c'];

const iterator = arr.entries();

console.log(iterator.next().value); // [0, 'a']

위와 같이 요소의 인덱스와 요소만 원할 경우 next() 함수와 value 키를 같이 사용하면 된다.

 

 

 

예: entries() 함수와 반복문으로 배열의 각 요소의 인덱스와 요소를 새로운 배열에 각각 출력하기

const arr = ['a', 'b', 'c'];

for (each of arr.entries()) {
	console.log(each);
}

// [ 0, 'a' ]
// [ 1, 'b' ]
// [ 2, 'c' ]

for (let i = 0; i < arr.length; i++) 같은 반복문보다 간결한 모습.

 

반응형