[자바스크립트/javascript] filter()

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

 

Array.prototype.filter() - JavaScript | MDN

filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.

developer.mozilla.org

MDN에서의 filter 설명 :

filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.

 

 

지난 프로그래머스 문제를 풀 때 filter를 이용한 문제 풀이가 있었다.

function solution(array, height) {
    array.push(height)
    array = array.sort().reverse()
    return array.indexOf(height);
}

filter를 이용하지 않은 코드를 filter를 이용하면

function solution(array, height) {
    return array.filter((el)=>{return el > height;}).length
}

이렇게 간단하게 풀 수 있다. ( => 는 화살표함수)

 

 

MDN에 나와있는 예제

const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];

const result = words.filter(word => word.length > 6);

console.log(result);
// Expected output: Array ["exuberant", "destruction", "present"]

words 요소 중 길이가 6보다 큰 것만 필터를 이용해 걸러져 배열 안에 남겨진다.

comment