다음과 같은 숫자를 나타내는 긴 문자열이 있다고 가정해 보겠습니다. -
const str = '11222233344444445666';
우리는 그러한 문자열 하나를 취하는 JavaScript 함수를 작성해야 합니다. 우리의 함수는 문자열의 고유한 숫자 각각에 고유한 "id" 속성을 할당해야 하는 객체를 반환하고 문자열에 숫자가 나타나는 횟수를 저장하는 다른 속성 "count"를 반환해야 합니다.
따라서 위 문자열의 경우 출력은 다음과 같아야 합니다. -
const output = { '1': { id: '1', displayed: 2 }, '2': { id: '2', displayed: 4 }, '3': { id: '3', displayed: 3 }, '4': { id: '4', displayed: 7 }, '5': { id: '5', displayed: 1 }, '6': { id: '6', displayed: 3 } };
예시
이에 대한 코드는 -
const str = '11222233344444445666'; const countNumberFrequency = str => { const map = {}; for(let i = 0; i < str.length; i++){ const el = str[i]; if(map.hasOwnProperty(el)){ map[el]['displayed']++; }else{ map[el] = { id: el, displayed: 1 }; }; }; return map; }; console.log(countNumberFrequency(str));
출력
콘솔의 출력은 -
{ '1': { id: '1', displayed: 2 }, '2': { id: '2', displayed: 4 }, '3': { id: '3', displayed: 3 }, '4': { id: '4', displayed: 7 }, '5': { id: '5', displayed: 1 }, '6': { id: '6', displayed: 3 } }