filter()
filter () 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환한다
쉽게 말해서 주어진 조건에 맞는 배열의값들만 모아서 새로운 배열을 만들어 반환해주는 것이다.
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter(word => word.length > 6);
위 코드가 뜻하는 것은 words 배열을 기준으로 words 배열 안의 word(글자수) 가 6글자 초과되는 글자들만 모아 새로운 배열을 만드는 것이다
filter를 적용시키면
["exuberant", "destruction", "present"]
이 3개의 값들만 모아서 배열을 만들어준다
위 3개의 값들은 words.filter(word => word.length > 6) 조건이 충족된 값들이다
filter는 주어진 값을 조건에 걸어 테스트 후에 테스트에 통과된 값을 받아낼때 주로 사용하게 되는데 이와 비슷한 for문,if문이 있다

const userList = [
{ ID: "1", Number: 1, address: "Seoul", score: 90 },
{ ID: "2", Number: 2, address: "Seoul", score: 80 },
{ ID: "3", Number: 3, address: "Seoul", score: 70 },
];
let Best = [];
for (let i = 0; i < userList.length; i++) {
if (userList[i].score > 80) {
Best = userList[i];
}
}
위 코드를 console로 확인해보면 아래와 같이 출력된다.

하지만 for문과 if문을 사용하지않고 filter()를 사용하면 긴 코드를 쓰지않고 똑같은결과를 받아 볼 수 있다.

let BestPeople = userList.filter((sc) => sc.score > 80);
console.log(BestPeople);
위 코드도 console로 확인하면 fop문과 if문을 사용했을때와 같이 똑같은 값을 얻어낼 수 있다.

filter를 이런 목적으로 사용해도 되는지 모르겠지만 이해하기 편하게 공부하다보니 for문과if문을 비교하게 되었다.