최근 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 }
솔직히 저는 이러한 방법의 세부 사항과 사용법을 완전히 알지 못했기 때문에 이 인터뷰 질문을 해결하고 이해를 심화시키는 것이 매우 중요했습니다. 기본 루프를 사용하든 고급 함수형 프로그래밍 기술을 사용하든 관계없이 이러한 방법을 알면 코드의 효율성과 가독성을 크게 향상시킬 수 있습니다.
위 내용은 JavaScript 배열 반복 방법 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!