정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
https://school.programmers.co.kr/learn/courses/30/lessons/181888
✔️ 배열의 n번째 요소 추출하기
const solution = (num_list, n) => num_list.filter((_, i) => !(i % n));
const solution = (num_list, n) => num_list.filter((_, idx) => idx % n === 0);
The filter() method of Array instances creates a shallow copy of a portion of a given array, filtered down to just the elements from the given array that pass the test implemented by the provided function.
- Array 인스턴스의 filter() 메서드는 주어진 배열의 일부에 대한 얕은 복사본을 생성하고, 주어진 배열에서 제공된 함수에 의해 구현된 테스트를 통과한 요소로만 필터링 합니다.
다른 사람의 풀이를 확인하면서 !(i % n)
이 부분이 왜 n번째 요소를 추출하는 boolean이 되는지 잘 이해가 되지 않았다.
!
(Not)연산자는 falsy한 값에 true를 반환하는데, 그 값이 0인 경우에도 true를 반환한다.
따라서, !(n % 2)
는 !(n % 2 === 0)
와 같은 의미가 될 수 있다.
false
: 직접적으로 false인 경우0
: 숫자 0빈 문자열('')
: 문자열의 길이가 0인 경우null
: 값이 없거나 비어있는 경우undefined
: 정의되지 않은 값NaN
: 숫자가 아닌 경우 (Not-a-Number)document.all
: 이전에 사용되던 오래된 브라우저에서 존재하는 객체로, 불리언으로 평가 시 false가 됨