Filter, Map, Every (Array)

sjy·2022년 3월 27일
0

코딩공부

목록 보기
9/49

Filter

주어진 배열에서 조건에 맞는 요소를 모아서 새로운 배열로 반환한다.

사용방법

1~9까지 자연수 중 짝수만 반환하도록 해보면 다음과 같은 결과를 얻을 수 있다.

const numbers = [1,2,3,4,5,6,7,8,9,10]
const evens = numbers.filter(num =>  num % 2 ===0);
console.log(evens) // [2,4,6,8,10]

이 때 num은 원하는 이름을 사용해도 상관없다.
조건을 만족하는 요소가 하나도 없다면 빈 배열을 반환한다.
그리고 당연한 얘기지만 반환된 배열(evens)의 index는 원래 배열(numbers)의 index보다 무조건 작거나 같다.

Map

주어진 배열의 모든 요소에 원하는 함수를 실행시켜 나온 결과를 새로운 배열로 반환한다.

사용방법

evens 배열의 모든 요소에 1씩 빼서 odds 배열을 만들어보자.

const odds = evens.map(x => x -1);
console.log(odds); // [1,3,5,7,9]

이번에는 num대신 x를 사용해보았다.

evens.map((x,i)=>{console.log(x,i)})
// 2, 0
// 4, 1
// 6, 2
// 8, 3
// 10, 4

2개의 매개변수를 사용할 수 도 있다. 이 때 두번째 매개변수는 배열 내의 index값이다.

Every

주어진 배열의 모든 요소가 주어진 조건을 만족하는지 확인한다.
Boolean 값을 반환하며(true or false) 한 요소라도 만족하지 못한다면 false를 반환한다.

사용방법

numbers 배열에 '0보다 크다'/'10보다 작다' 두 가지 조건을 적용해보자

numbers.every( num => num>0) // true
numbers.every( num => num<10) // false

조건을 함수로 선언해 사용할 수도 있다.

const overZero = (num) => {return num >0}
console.log(numbers.every(overZero)) //true
profile
수학과 코딩

0개의 댓글