[...'hhtml'].reduce((a,e) => {
a[e] = a[e] ? a[e] + 1 : 1;
return a;
},{})
{h: 2, t: 1, m: 1, l: 1}
a[e]
) и если есть, инкрементируем значение (a[e] + 1
), а если нет, то используем единицу. Полученное значение записываем в объект a[e] =
.почему в условии мы делаем присваиваниеПотому что метод reduce предназначен для "сборки" какого-то одного значения и эта сборка без присваивания невозможна.
Как в конечный массив записывается значениеЧерез присваивание выше и возврат объекта (а не массива) из функции.