배열 내장함수 reduce 다른예시
예시)
const alps = ["a", "a", "a", "a", "a", "b", "b", "c", "d", "d", "e", "e", "e"];
const counts = alps.reduce((acc, current) => {
if (acc[current]) {
acc[current] += 1;
} else {
acc[current] = 1;
}
return acc;
}, {});
console.log(counts);
acc[current]이 있다면 acc[current] = acc[current] + 1 이 실행되고
아니라면 acc[current] = 1; 로 표시된다.
즉, 같은 원소의 갯수를 세고 출력하는 로직이다.
그리고 최초 값은 빈 객체 {}로 되어있는데 비어있는 객체 안에 'a'가 없고, 없으니까 else 로 동작해 1이 들어가고 그 다음 'a' 를 찾게 되는 것.
그러므로 출력되는 것은
{a: 5, b: 2, c: 1, d: 2, e: 3}
a: 5
b: 2
c: 1
d: 2
e: 3
처음에는 뭔가 이해가 잘 안되서 2, 3번 다시 보면서 이해하려고 했다.
Author And Source
이 문제에 관하여(배열 내장함수 reduce 다른예시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@clementbwkim/배열-내장함수-reduce-다른예시저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)