РЕДАКТИРОВАТЬ: несколько раз я использую «получить», когда это больше «доступ» или «рассмотреть». Так что да, я говорю «получить эту вещь», и я не обязательно имею в виду читать ее значение, но вместо этого «мы здесь что-то делаем». Просто катись с этим хорошо?
В js
доступ к массивам осуществляется как «получить запись в index
из array
»:
array[index]
и объекты доступны как "получить свойство с именем property
из object
":
object.property
object["property"]
что вы пытаетесь сделать, это "получить свойство из object
, названное записью index
из array
". Это то, что вы можете сделать. Но на самом деле вы просили что-то немного другое.
loopNumbers.nestedArr[i][0]
означает"получить свойство nestedArr
от объекта loopNumbers
и от этого получить запись по индексу i
и от этой записи получить по индексу 0
.
чтобы получить свойство loopNumbers
, названное 0
-й записью i
-ой записи nestedArr, вы должны начать с получения i
-ой записи nestedArr
nestedArr[i]
И тогда вы хотите запись 0
nestedArr[i][0]
Теперь это не свойство, которое вы можете просто использовать напрямую, потому что, как уже было сказано, loopNumbers.nestedArr
пытается получить свойство с именем nestedArr
от объекта loopNumbers
, который не существует. Единственный способ получить свойство, названное значением, хранящимся в nestedArr[i][0]
, из объекта с именем loopNumbers
, заключить в квадратные скобки как
loopNumbers[nestedArr[i][0]]