최근 JavaScript Array 객체를 반복하는 다양한 방법을 묻는 인터뷰 질문을 접했습니다. 몇 가지 예제 코드 조각을 제공해야 했기 때문에 처음에는 프롬프트가 간단해 보였습니다. 하지만 이 질문이 흥미로웠기 때문에 각 방법을 좀 더 자세히 살펴보고 사용 방법뿐만 아니라 특정 접근 방식을 선택하는 시기와 이유도 알아보기로 결정했습니다.
이 기사에서는 JavaScript에서 배열을 반복하는 다양한 방법을 안내하고 차이점, 장점 및 사용 사례를 강조합니다.
for 루프
장점:
for...of 루프가 도입되기 전에는 전통적인 for 루프가 배열 반복의 표준 방법이었습니다. 그러나 인덱스를 0 대신 1에서 시작하거나 실수로 arr.length - 1 대신 arr.length를 사용하는 등 오류가 발생하기 쉽습니다. MDN에서 제안한 것처럼 "일반적으로...에 사용하는 것이 가장 좋습니다. 가능하다면."
사용 시기:
반복을 건너뛰거나 역방향으로 반복하는 등 반복에 대한 완전한 제어가 필요한 경우.
반복하는 동안 인덱스와 값이 모두 필요한 경우.
...의
장점:
사용 시기:
값 작업만 필요하고 인덱스에 대한 액세스가 필요하지 않은 경우.
Array.prototype.map()
장점:
사용 시기:
배열의 각 요소에 함수를 적용하고 그 결과를 새로운 배열로 필요로 할 때.
Array.prototype.forEach()
장점:
사용 시기:
배열의 각 요소에 함수를 적용하고 싶지만 새 배열을 반환할 필요가 없는 경우.
Array.prototype.entries()
장점:
사용 시기:
배열 요소의 인덱스와 값에 모두 액세스해야 하는 경우.
Array.prototype.keys()
장점:
사용 시기:
배열 요소의 인덱스만 제공하는 반복자가 필요한 경우.
Array.prototype.values()
장점:
사용 시기:
배열 요소의 값만 제공하는 반복자가 필요한 경우.
배열 반복자란 무엇입니까:
Array.prototype.entries(), Array.prototype.keys() 및 Array.prototype.values()는 새로운 배열 반복자 객체를 반환합니다. 이러한 반복자를 사용하면 배열과 같은 컬렉션을 한 번에 한 요소씩 탐색할 수 있습니다. 필요에 따라 호출할 수 있는 시퀀스의 다음 값을 제공하는 next() 메서드가 함께 제공되어 메모리 절약에 도움이 됩니다.
다음은 항목()을 사용하는 예입니다.
const arr = ['a', 'b', 'c']; const iterator = arr.entries(); console.log(iterator.next()); // { value: [0, 'a'], done: false } console.log(iterator.next()); // { value: [1, 'b'], done: false } console.log(iterator.next()); // { value: [2, 'c'], done: false } console.log(iterator.next()); // { value: undefined, done: true }
솔직히 저는 이러한 방법의 세부 사항과 사용법을 완전히 알지 못했기 때문에 이 인터뷰 질문을 해결하고 이해를 깊게 하는 것이 매우 중요했습니다. 기본 루프를 사용하든 고급 함수형 프로그래밍 기술을 사용하든 이러한 방법을 알면 코드의 효율성과 가독성을 크게 향상시킬 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3