Нет вложенных массивов.Вы просто вкладываете два синтаксиса доступа к массиву.
Чтобы объяснить этот код, сначала нам нужно узнать, как изменится переменная answer
.Из заголовка цикла for видно, что он начинается с 0 и продолжается до responses.length - 1
, то есть до 8. Теперь мы можем оценить выражение frequency[responses[answer]]
:
// in each iteration of the loop
frequency[responses[0]]
frequency[responses[1]]
frequency[responses[2]]
frequency[responses[3]]
frequency[responses[4]]
frequency[responses[5]]
frequency[responses[6]]
frequency[responses[7]]
Теперьмы можем оценить часть responses[x]
.Нам просто нужно найти соответствующий ответ в массиве responses
.responses[0]
- это первый элемент, который является 1
.
frequency[1]
frequency[2]
frequency[3]
frequency[4]
frequency[4]
frequency[4]
frequency[4]
frequency[4]
. Этот оператор также включает оператор ++
, который увеличивает этот конкретный индекс на frequency
на 1. Таким образом, все вышеперечисленноеиндексы будут увеличиваться на 1 один за другим, поэтому массив frequency
будет выглядеть следующим образом:
[0, 1, 1, 1, 5, 0]
На более высоком уровне абстракции этот код считает, сколько раз конкретный ответ появляется в *Массив 1022 *.Например, 4
появилось 5 раз.