Notice
Recent Posts
Recent Comments
Link
관리 메뉴

윤일무이

[JavaScript] filter() 로 특정 인덱스의 요소들만 반환해보기 본문

👋🏻 JavaScript/📖 자바스크립트 ES6+

[JavaScript] filter() 로 특정 인덱스의 요소들만 반환해보기

썸머몽 2023. 4. 25. 22:09
728x90

Array.prototype.filter()

arr.filter(callback(element[, index[, array]])[, thisArg])

주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환한다.

1) 매개변수

  • callback : 각 요소를 시험할 함수로 true 반환 시 요소를 유지, false 반환 시 요소를 버림.
  • element : 처리할 현재 요소
  • index : 처리할 현재 요소의 인덱스
  • array : filter를 호출한 배열
  • thisArg : callback을 실행할 때 this로 사용하는 값

2) 반환 값

  • 테스트를 통과한 요소로 이뤄진 새로운 배열. 어떤 요소도 테스트를 통과하지 못하면 빈 배열 반환.

3) 명명되지 않은 매개변수 (Unnamed parameters) ⭐️

  • 매개변수의 이름을 지정하지 않고도 함수 정의에서 매개변수를 사용할 수 있게 해준다.
  • ex. 매개변수의 옵션이 아닌 기본값으로 element를 사용해야 하는데, 이 부분을 지정하지 않고도 index를 사용할 수 있음.

✏️ 예시

  • 명명되지 않은 매개변수 (아래 예시와 같이 element 부분을 언더 스코어로 표시했다.)
const arr = [1, 2, 3, 4, 5];
const filteredArr = arr.filter((_, index) => index % 2 === 0);
console.log(filteredArr); // [1, 3, 5]
  • 특정 조건에 맞는 값 골라내기
function isBigEnough(value) {
  return value >= 10;
}

var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered 는 [12, 130, 44]

 


 

https://school.programmers.co.kr/learn/courses/30/lessons/181888

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

정수 리스트 num_list 정수 n 주어질 , num_list 번째 원소부터 마지막 원소까지 n 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

 

이런 문제에서 필터를 사용하면 간편하다.

element는 생략하고, 인덱스만 매개변수로 사용해서 인덱스 % n === 0 (인덱스 상 n번인) 요소들만 출력한다.

 

인덱스는 어떻게 필터를 걸어야 하는지 몰랐는데 이렇게 하는 거였다.

728x90