✍️ TIL 10 ㆍJavascript 배열 내장함수 3
- concat
- join
- reduce
1. concat
concat
은 여러 개의 배열을 하나로 합쳐주는 함수이다.
배열 arr1
과 arr2
를 하나의 배열 array
로 합치기
const arr1 = [1, 2, 3];
const arr2 = [2, 4, 8];
const array = arr1.concat(arr2);
console.log(array);
결과
[1, 2, 3, 2, 4, 8]
2. join
join
은 배열 안의 값들을 문자열 형태로 합쳐주는 함수이다.
const array = [1, 2, 3, 2, 4, 8];
console.log(array.join()); // 1,2,3,2,4,8
console.log(array.join(' ')); // 1 2 3 2 4 8
console.log(array.join(', ')); // 1, 2, 3, 2, 4, 8
결과
1,2,3,2,4,8
1 2 3 2 4 8
1, 2, 3, 2, 4, 8
3. reduce
reduce
는 주어진 배열에 대한 총합 혹은 평균 등을 구할 때 유용한 함수
배열의 총합 구하기
앞서 배운 forEach 함수
를 이용해 구해보면,
const numbers = [1, 2, 3, 4, 5];
let sum = 0;
numbers.forEach(n => {
sum += n;
});
결과 15
이것이 틀린 방법은 아니다. 하지만 reduce
를 사용하면 코드가 훨씬 간결해진다.
const numbers = [1, 2, 3, 4, 5];
let sum = array.reduce((accumulator, current) => accumulator + current, 0);
console.log(sum);
결과는 같다.
reduce 함수
는 두 개의 파라미터를 전달하는데 첫 번째는 accumulator와 current를 파라미터로 가져와서 결과를 반환하는 콜백함수를, 두 번째는 초기값을 뜻한다.
여기서 accumulator는 누적된 값이고 current는 현재값을 말한다.과정을 살펴보면,
1. acc는 초기값 0, cur는 1이 들어온다.
2. acc는 acc+cur이므로 1, cur = 2
3. acc = 1 + 2 = 3, cur = 3
4. acc = 3 + 3 = 6, cur = 4
5. acc = 6 + 4 = 10, cur = 5
6. acc = 10 + 5 = 15
7. sum에 15를 반환.
배열의 평균 구하기
더 나아가 평균 = 총합 / 원소의 개수
를 통해 평균을 구해보면,
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);
결과 3
평균을 구하기 위해 추가 파라미터인 index
와 array
를 받아왔다.
여기서 index
는 현재 처리하고 있는 항목의 번호를,
array
는 현재 처리하고 있는 배열 자신을 의미한다.
Author And Source
이 문제에 관하여(✍️ TIL 10 ㆍJavascript 배열 내장함수 3), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@leyeon/TIL-10-ㆍJavascript-배열-내장함수-3저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)