Во-первых, вы непонятно излагаете свои мысли:
и как сравнить значение, если например 0 - соотв. этому .item добавляем класс
значит ли это что класс необходимо выставлять элементу в котором значение равно искомому, в данном случае 0 ?
Во-вторых, вы неправильно берете количество/значение из str
посмотрите как вы ее заполняете... в ней будет
0: 1,
1: 4,
2: 2,
3: 4,
4: 4,
5: 2,
после разбивки split'ом
str.split(', ')[i]
в count вы присваете ПАРУ
значение: количество
!
и это сравниваете с 0 ???
эту пару необходимо еще раз разбить и взять либо ЗНАЧЕНИЕ, либо КОЛИЧЕСТВО, смотря что вам надо??
ну и
если например 0
то почему у вас стоит условие < 0 ???
for (let i = 0; i < item.length; i++) {
let pair = str.split(', ')[i];
if (pair.split(': ')[0] == 0) {
item[i].classList.add('zero');
}
item[i].textContent = pair;
}
PS: а если количество элементов в массиве изменится??
может стоит добавлять элементы динамически?
см.
Node.appendChild()UPDATE:UPDATE 2:
с добавлением класса: