Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- slice
- 이벤트
- 배열
- array
- IntersectionObserver
- Flex
- dom
- video
- Promise
- animation
- 클로저
- Push
- 비동기
- object
- This
- 이벤트 루프
- event
- map
- ajax
- 문자열
- json
- input
- scroll
- ios
- 스크롤
- 모듈
- 이벤트 위임
- ES6
- 애니메이션
- 객체
Archives
- Today
- Total
FEDev Story
배열을 역순으로 순회하고 싶다면? 본문
forEach 메서드는 배열의 처음부터 끝까지 순서대로만 동작하도록 설계되어 있어서, 뒤에서부터 순회하는 기능은 지원하지 않아요.
하지만 대신, for 루프를 사용해서 **역순(forEach처럼 동작)**할 수 있어요.
✅ 역순으로 배열 순회하는 방법
const arr = [1, 23, 4];
for (let i = arr.length - 1; i >= 0; i--) {
const num = arr[i];
console.log(num); // 4, 23, 1 순서로 출력
}
❗️forEach처럼 콜백을 쓰고 싶다면?
const arr = [1, 23, 4];
arr.slice().reverse().forEach((num) => {
console.log(num); // 4, 23, 1
});
설명:
- slice()는 원본 배열을 복사합니다 (원본 배열을 변경하지 않기 위해).
- reverse()로 복사한 배열의 순서를 뒤집고,
- 그 배열에 대해 forEach()를 적용합니다.
💡 한 줄 팁:
[...arr].reverse().forEach(num => console.log(num));
원본 배열을 건드리지 않으면서 forEach 느낌 그대로 역순 순회하고 싶을 때 유용해요.
✅ 역순으로 callback을 실행하는 forEach 함수
function forEachReverse(array, callback) {
for (let i = array.length - 1; i >= 0; i--) {
callback(array[i], i, array);
}
}
🧪 사용 예시:
const arr = [1, 23, 4];
forEachReverse(arr, (num, index) => {
console.log(`인덱스 ${index} 값: ${num}`);
});
// 출력:
// 인덱스 2 값: 4
// 인덱스 1 값: 23
// 인덱스 0 값: 1
📌 함수 설명:
- array: 순회할 배열
- callback: (element, index, array) 형식의 콜백 함수
- 순회는 마지막 인덱스부터 0까지 진행돼요
'Javascript' 카테고리의 다른 글
자바스크립트 문자열에서 숫자만 추출하는 방법 (0) | 2025.04.23 |
---|---|
객체의 참조와 재할당 (0) | 2022.05.04 |
[JavaScript] Class (0) | 2022.01.26 |
null,undefined,empty 체크 (0) | 2021.11.02 |
[Javascript] 얕은 복사, 깊은 복사 (배열 복사, 객체 복사, shallow copy, deep copy, slice, JSON.parse, JSON.stringify) (0) | 2021.11.01 |
Comments