#1 Coding Test Review (math, reduce)

김동혁·2022년 8월 18일
0

1) Math 함수

자주사용하는 Math함수 알기!

2) reduce

배열의 각 요소를 순회하며 실행값을 누적하여 하나의 결과값을 반환하는 함수.

array.reduce(callback[, initialValue])

● callback function

  • accumulate - callback함수의 반환값을 누적
  • currentValue - 배열의 현재요소
  • index - 배열의 index (Opt)
  • array - 호출한 배열 (Opt)

● initialValue

  • 최초 callback 함수 실행시, accumulator 인수에 제공되는 값,
    초기값을 제공하지 않을경우 배열의 첫번째 요소를 사용하고, 빈배열이면 에러가발생한다.

※ Example 1

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const sum1 = numbers.reduce((accumulator, currentNumber) => accumulator + currentNumber);

console.log('sum1 =', sum1);

※ Example 2

function sumReducer(accumulator, currentNumber) {
  return accumulator + currentNumber;
}
const sum2 = numbers.reduce(sumReducer);
console.log('sum2 =', sum2);

※ Example 3

const friends = [
  {
    name: '양주진',
    age: 32,
    job: 'dev'
    married: false,
  },
  {
    name: '오영제',
    age: 32,
    job: 'fireman'
    married: false,
  },
  {
    name: '서준형',
    age: 32,
    job: '2년차 유부남',
    married: true,
  }
];

const ageSum = friends.reduce((accumulator, currentObject) => {
  return accumulator + currentObject.age;
}, 0); // 초기값 설정

console.log('나이 합 ', ageSum);

Example3의 경우(object 배열) , 초기값(initialValue)를 설정했는지에 따라, accumulator와 currentValue값이 달라진다.

  1. initValue를 설정한경우
  • accumulator = initvalue ex) 0
  • currentValue = 배열의 첫번째요소 ex) 2
  1. initValue를 설정하지 않은경우
  • accumulator = 배열의 첫번째요소 ex ) 1
  • currentValue = 배열의 두번째요소 ex) 2

0개의 댓글