Есть функция, которая возвращает количество повторяющихся элементов массива.
let arr = [3, 3, 7, 7, 3, 3, 4, 5, 5, 8, 8, 8];
function countIdentic(arr) {
let obj = {}, count = 0;
arr.forEach(item => {
let num = obj[item];
obj[item] = num ? num + 1 : 1;
});
for(let key in obj) {
obj[key] > 1 && count++;
};
return count;
}
console.log(countIdentic(arr));
Конкретно интересует, как работают данные строчки:
arr.forEach(item => {
let num = obj[item];
obj[item] = num ? num + 1 : 1;
});
Буду благодарен за объяснение.