image

map(), filter(), find()

태그
Javascript
상세설명map(), filter(), find()
작성일자2023.12.18

자주 사용하고 있는 map()과 filter()에 대해 정리해 보았다.

반복이 필요하면 map(), 조건에 만족하는 모든 요소가 필요하면 filter() ,조건에 만족하는 첫 번째 요소만 필요하면 find()를 사용하면 된다.

map()

배열 내의 모든 요소 각각에 대하여 주어진 함수(callback 함수) 적용 후 새로운 배열을 반환한다.

문법 : arr.map(callback(currentValue[, index[, array]])[, thisArg]) (Optional - index, array, thisArg)

const array = [1, 4, 8, 12, 16];
const parameters = array.map((x, index, arr) =>{console.log(x, index,arr)})

//결과
// 1 0  [1,4,8,12,16]
// 4 1  [1,4,8,12,16]
// 8 2  [1,4,8,12,16]
// 12 3 [1,4,8,12,16]
// 16 4 [1,4,8,12,16]

// 일반 함수
const map1 = array.map(function(x) {
    return x * 2
})
// [2,8,16,24,32]

// 화살표 함수
const map2 = array.map((x) => x * 2)
// [2,8,16,24,32]

filter()

배열을 순회하며 요소마다 조건 확인 후 ( 콜백 함수는 boolean값을 리턴 한다. - 조건에 맞으면 true, 맞지 않으면 false를 반환 ) 조건을 만족하는 원소들로( 결과가 true인 요소만 ) 필터링 된 새로운 배열을 반환한다.

문법 : filter(callbackFn, thisArg) (Optional - thisArg)

const drinks = ['water', 'beer', 'coffee', 'jucie', 'latte', 'coke'];

const result = drinks.filter((drink) => drink.length > 5);
console.log(result);
// ["coffee"]

find()

배열에서 제공된 테스트 함수를 만족하는 첫 번째 요소를 반환합니다. 만족하는 값이 없으면 undefined가 반환 된다.

문법 : find(callbackFn, thisArg) (Optional - thisArg)

const array = [3, 12, 20, 100, 40];

const found = array.find((element) => element > 10);
console.log(found);
// 12

const found = array.find((element) => element < 3);
console.log(found);
// undefined

참고