replit프로그램에서 한번 풀어봤던 문제들을 복습하다가 filter 문제에서 5시간넘게 이해가 되지않아 붙잡고있던 기억이 나서 블로그를 작성해보려고한다.

let numbers = [10, 4, 32, 17, 5, 2];
// 첫번째 방법 (filter()의 인자에서 바로 함수를 써주는 방법)
let result = numbers.filter((value)=> value > 10);
console.log(result); // [ 32, 17 ]
// 두번째 방법 (밖에서 함수를 선언하고 filter()인자에서 callback하는 방법)
function isBiggerThanTen (value) {
return value > 10;
}
let result = numbers.filter(isBiggerThanTen);
console.log(result); // [ 32, 17 ]
문제
fruits 라는 배열이 있습니다. 'ap'가 들어간 과일들로 이루어진 새로운 배열을 filter()를 이용하여 반환해주세요.
결과는 아래와 같아야 합니다.
[ 'apple', 'grapes' ]
풀이
let fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];
let result = fruits.filter(word => word.includes("ap"));
console.log(result)
//1번 풀이 방법
function includesAP (word) {
return word.includes("ap");
}
let result1 = fruits.filter(includesAP);
console.log(result1)
//2번풀이방법
처음에 뭐가 어디에 들어가는지를 전혀 이해를 못해서 헤매던 기억이난다. 객체까지 알고 풀었다면 쉽게 풀었을것같은데 전혀 그런개념이 없어서 못했다고생각한다. 다시해보니까 그렇게 어렵지 않았다. 발전한거같아서 기쁘다.
내친김에 다른 method들도 배워보았다.