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 }