다음과 같은 중복 항목이 포함된 문자열 배열이 있다고 가정해 보겠습니다.
const arr = ['blue', 'blue', 'green', 'blue', 'yellow', 'yellow', 'green'];
그러한 배열을 취하는 JavaScript 함수를 작성해야 합니다. 함수는 모든 중복 항목을 서로 병합해야 합니다.
따라서 위의 입력에 대한 출력은 다음과 같아야 합니다. -
const output = ['blueblue', 'green', 'blue', 'yellowyellow', 'green'];
예시
이에 대한 코드는 -
const arr = ['blue', 'blue', 'green', 'blue', 'yellow', 'yellow',
'green'];
const combineDuplicate = (arr = []) => {
let prev = null;
const groups = arr.reduce((acc, value) => {
if (prev === value) {
acc[acc.length - 1] += value;
} else {
prev = value
acc.push(value)
}
return acc;
}, [])
return groups;
};
console.log(combineDuplicate(arr)); 출력
콘솔의 출력은 -
[ 'blueblue', 'green', 'blue', 'yellowyellow', 'green' ]