[JavaScript STUDY] reduce( ) 메서드를 사용하여 배열 줄 바꿈

JooSehyun·2024년 4월 26일
0

[Study]

목록 보기
32/35
post-thumbnail

[JavaScript STUDY] reduce( ) 메서드를 사용하여 배열 줄 바꿈


구현 전

'사전학습자료', '수업자료', '보충학습자료', '심화학습자료', '실습자료', '개인활동자료', '모둠활동자료', '과제활동자료', '반복학습자료'

이 단어들을 2단어 마다 줄바꿈을 하기위해 구현했다.


구현 후 (예상)

'사전학습자료', '수업자료', 
'보충학습자료', '심화학습자료', 
'실습자료', '개인활동자료', 
'모둠활동자료', '과제활동자료', 
'반복학습자료'

마지막은 ,는 없어야한다.


function solution() {
    const arr = ['사전학습자료', '수업자료', '보충학습자료', '심화학습자료', '실습자료', '개인활동자료', '모둠활동자료', '과제활동자료', '반복학습자료'];

    const result = arr.reduce((acc, curr, idx) => {
        if (idx % 2 === 1 && idx !== arr.length - 1) {
            acc += curr + ', \n';
        } else if (idx !== arr.length -1) {
            acc += curr + ', ';
        } else {
            acc += curr;
        }
        return acc;
    }, '')

    return result;
}

console.log(solution());

if (idx % 2 === 1 && idx !== arr.length - 1) {
	acc += curr + ', \n';
}
  1. idx % 2 === 1 로 인덱스의 홀수를 찾는다.
  2. idx !== arr.length -1 마지막 인덱스를 찾기위해 (인덱스는 0 부터 시작 이므로 length의 -1가 아닌 조건은 ,\n 줄바꿈을 넣는다.

else if (idx !== arr.length -1) {
	acc += curr + ', ';
}
  1. 첫번째 홀수마지막 요소가 아닌 짝수 이지만 마지막 요소가 아닌 요소에 ,를 찍는다.

else {
	acc += curr;
}
  1. 모든 조건이 아닐 경우는 마지막 요소이다. 그냥 누적된 문자열 acc에 추가만 한다.

결과

'사전학습자료', '수업자료', 
'보충학습자료', '심화학습자료', 
'실습자료', '개인활동자료', 
'모둠활동자료', '과제활동자료', 
'반복학습자료'

0개의 댓글