배열 마지막 요소에서 루프를 시작하는 방법입니다. 이렇게 하면 배열에 요소를 추가하거나 제
거해도 종료 조건이 바뀌는 일은 없습니다.
예를 들어
bigArrayOfNumbers
에서 찾은 모든 소수를 제거하고 싶다고 합시다.
8
장에서 배우
겠지만, 다음 코드의
splice
메서드는 배열 요소를 추가하거나 제거할 때 사용합니다. 이 예제
는 예상대로 동작하지 않습니다.
for
(
let
i
=
0
;
i
<
bigArrayOfNumbers
.
length
;
i
++) {
if
(
isPrime
(
bigArrayOfNumbers
[
i
]))
bigArrayOfNumbers
.
splice
(
i
,
1
);
}
인덱스는 점점 커지는데 우리는 요소를 제거하고 있으므로, 소수가 연달아 존재한다면 그중 일
부를 제거하지 않고 넘어갈 가능성이 있습니다. 감소하는 인덱스를 쓰면 이 문제는 간단히 해
결됩니다.
for
(
let
i
=
bigArrayOfNumbers
.
length
-
1
;
i
>=
0
;
i
--) {
if
(
isPrime
(
bigArrayOfNumbers
[
i
]))
bigArrayOfNumbers
.
splice
(
i
,
1
);
}
초기 조건과 종료 조건을 봅시다. 배열의 인덱스는
0
에서 시작하므로 배열 길이보다 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.
O’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
I wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
I’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
I'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.