본문 바로가기
반영훈/웹 개발

[JS] 배열 내장함수 concat, join, reduce

by Banda 2020. 8. 12.

concat

여러개의 배열을 하나의 배열로 합쳐줍니다.

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const concated = arr1.concat(arr2);

console.log(concated);

 

 

join

배열 안의 값들을 '문자열'형태로 합쳐줌 인자로 받은 값을 기준으로 합쳐줌.

const array = [1, 2, 3, 4, 5];
console.log(array.join()); // 1,2,3,4,5
console.log(array.join(' ')); // 1 2 3 4 5
console.log(array.join(', ')); // 1, 2, 3, 4, 5

 

 

reduce 

주어진 배열에 대한 총합을 구할 때,

기존 코드는 아래와 같이 구현하지만

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

let sum = 0;
numbers.forEach(n => {
  sum += n;
});
console.log(sum);

 

reduce를 사용하면 아래와 같이 더 깔끔하게 구현할 수 있음.

const numbers = [1, 2, 3, 4, 5];
let sum = array.reduce((accumulator, current) => accumulator + current, 0);

console.log(sum);

reduce함수는 두개의 파라미터를 전달하는데 첫째는 accumulator와 current를 파라미터로 가져와서 결과를 반환하는 콜백, 두번째 파라미터는 reduce 함수에서 사용 할 초깃값입니다.

여기서 accumulator는 누적된 값.

아래는 reduce를 이용한 평균 계산

const numbers = [1, 2, 3, 4, 5];
let sum = numbers.reduce((accumulator, current, index, array) => {
  if (index === array.length - 1) {
    return (accumulator + current) / array.length;
  }
  return accumulator + current;
}, 0);

console.log(sum);

 

출처 - 벨로퍼트와 함께하는 모던 자바스크립트

댓글