https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/entries
https://www.w3schools.com/jsref/jsref_entries.asp
entries() 메서드는 배열의 각 인덱스에 대한 키/값 쌍을 가지는 새로운 Array Iterator 객체를 반환한다.
이 메서드를 사용하려면 Iterator(반복자)가 무엇인지를 먼저 알아야한다.
간단하게 설명하면 순서대로 돌아가면서 소모시키는 일회성 배열로 보면 될 것 같다.
Iterator는 전체를 반환하면 {done: true} 가 반환된다는 점, next() 함수로 호출된다는 것, 한번 호출하면 끝이라는 점만 주의하면 될 것 같다.
사실 다른 설명보다는 예제를 보는 것이 더 이해하기 편할 것 같다.
let arr_test = [
{id : 1 , name : '설아' , team : '우주소녀'},
{id : 2 , name : '선의' , team : '우주소녀'},
{id : 3 , name : '보나' , team : '우주소녀'},
{id : 4 , name : '엑시' , team : '우주소녀'},
{id : 5 , name : '수빈' , team : '우주소녀'},
{id : 6 , name : '루다' , team : '우주소녀'},
{id : 7 , name : '다원' , team : '우주소녀'},
{id : 8 , name : '은서' , team : '우주소녀'},
{id : 9 , name : '성소' , team : '우주소녀'},
{id : 10 , name : '미기' , team : '우주소녀'},
{id : 11 , name : '여름' , team : '우주소녀'},
{id : 12 , name : '다영' , team : '우주소녀'},
{id : 13 , name : '연정' , team : '우주소녀'}
];
var iterator = arr_test.entries();
for (let e of iterator) {
console.log(e);
}
//> Array [0, Object { id: 1, name: "설아", team: "우주소녀" }]
//> Array [1, Object { id: 2, name: "선의", team: "우주소녀" }]
//> Array [2, Object { id: 3, name: "보나", team: "우주소녀" }]
//> Array [3, Object { id: 4, name: "엑시", team: "우주소녀" }]
//> Array [4, Object { id: 5, name: "수빈", team: "우주소녀" }]
//> Array [5, Object { id: 6, name: "루다", team: "우주소녀" }]
//> Array [6, Object { id: 7, name: "다원", team: "우주소녀" }]
//> Array [7, Object { id: 8, name: "은서", team: "우주소녀" }]
//> Array [8, Object { id: 9, name: "성소", team: "우주소녀" }]
//> Array [9, Object { id: 10, name: "미기", team: "우주소녀" }]
//> Array [10, Object { id: 11, name: "여름", team: "우주소녀" }]
//> Array [11, Object { id: 12, name: "다영", team: "우주소녀" }]
//> Array [12, Object { id: 13, name: "연정", team: "우주소녀" }]
console.log(iterator.next());
//> Object { value: undefined, done: true }
마지막에 한번 더 호출하면 {done : true} 반환하는 것을 확인할 수 있다.
'Javascript' 카테고리의 다른 글
Array.prototype.some() (0) | 2021.11.25 |
---|---|
Array.prototype.every() (0) | 2021.11.16 |
Array.prototype.copyWithin() (0) | 2021.11.15 |
Array.prototype.find() (0) | 2021.11.12 |
Array.prototype.concat() (0) | 2021.11.11 |