JavaScript
27
Вклад в тег
let arr = str.split(' ');
'aa bb cc aa bb aa'
, разобьет на части используя пробел как разделитель. В результате получим:let arr = ['aa', 'bb', 'cc', ' aa', 'bb', 'aa']
return arr.reduce((acc, rec, index) => {
return (typeof acc[rec] !== 'undefined')
? { ...acc, [rec]: acc[rec] + 1 }
: { ...acc, [rec]: 1 }
}, {});
Рассмотрим его подробнее. Начнем с аргументов:typeof acc[rec] !== 'undefined'
проверит есть ли в объекте 'acc' ключ 'rec'.{ ...acc, [rec]: acc[rec] + 1 }
{ ...acc, [rec]: 1 }