map, reduce, filter

const newArray = array.map(callback(element[, index[, array]])[, thisArg])
const numbers = [1, 2, 3, 4, 5];

// 모든 요소에 2를 곱한 새로운 배열 생성
const doubled = numbers.map(num => num * 2);

console.log(doubled); // [2, 4, 6, 8, 10]

filter 메서드는 배열의 각 요소에 대해 주어진 함수(콜백 함수)를 호출하여 true를 반환하는 요소들로만 구성된 새로운 배열을 생성합니다. 원본 배열은 변경되지 않습니다.

const newArray = array.filter(callback(element[, index[, array]])[, thisArg])
const numbers = [1, 2, 3, 4, 5];

// 짝수만 필터링하여 새로운 배열 생성
const evens = numbers.filter(num => num % 2 === 0);

console.log(evens); // [2, 4]
const result = array.reduce(callback(accumulator, element[, index[, array]])[, initialValue])

예제

const numbers = [1, 2, 3, 4, 5];

// 모든 요소의 합을 계산
const sum = numbers.reduce((acc, curr) => acc + curr, 0);

console.log(sum); // 15

배열의 객체들에서 특정 속성값의 합을 구하는 예제입니다.

const items = [
  { name: 'apple', quantity: 2, price: 3 },
  { name: 'banana', quantity: 1, price: 1 },
  { name: 'cherry', quantity: 5, price: 2 }
];

// 총 가격 계산
const totalCost = items.reduce((acc, item) => acc + (item.quantity * item.price), 0);

console.log(totalCost); // 16

Loading

Leave a Reply

Your email address will not be published. Required fields are marked *