2020/Vanilla JavaScript

JavaScript #내장함수 reduce

꽃꽂이하는개발자 2020. 3. 28. 20:10
반응형

reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.

const numbers = [1, 2, 3, 4, 5];
//---------------------forEach
// let sum = 0;
// numbers.forEach(n =>{
//   sum += n;
// });
// console.log(sum);  // 15
//---------------------reduce 더하기
const sum = numbers.reduce((accumulator, current) => accumulator + current, 0);
console.log(sum); //15

// --------------------reduce 평균
const avg = numbers.reduce((accumulator, current, index, array) => {
  if (index == array.length - 1) {
    return (accumulator + current) / array.length;
  }
  return accumulator + current;
}, 0);

console.log(avg);

 

// 알파벳 중복수

const alphabets = ["a", "d", "a", "b", "c", "d", "d", "e"];

const count = alphabets.reduce((acc, cur) => {
  if (acc[cur]) {
    acc[cur] += 1;
  } else {
    acc[cur] = 1;
  }
  return acc;
}, {});
console.log(count);
반응형