Я динамически назначаю массив по данным из HTTP-запроса.Затем я пытаюсь сгенерировать что-то из данных в этом массиве - и я console.log сделал массив, чтобы я знал, что в нем есть данные.Тем не менее, при его цикле каждый ключ не определен.
По сути, каждый элемент, который я получаю с сервера REST, имеет идентификатор, обозначающий, что они каким-то образом связаны друг с другом.Сейчас я назову это «SlotID».
Я постараюсь сделать его очень простым.Итак, вот несколько вырезов.
let items = new Array(23); // The highest "SlotID" can be 22, and 0 isn't used.
fetch(URI)
.then(results => {
return results.json();
}).then(data => {
for (var itemKey in data.Results) {
var item = data.Results[itemKey]; // This is all just the fetch.
if (items[item.SlotID] != null) { // I'm creating a new Array for each SlotID here, and if that array is already created I'm pushing to it.
items[item.SlotID].push(item);
} else {
items[item.SlotID] = [item];
}
}
}
});
Это (на данный момент с помощью тестового вызова) заполняет элементы [1].Я подтвердил наличие массива через console.log (items);который выводит:
(23) […] 1: (2) […] 0: Объект {BaseParamValue0: 19, BaseParamValue1: 21, BaseParamValue2: 23,…} 1: Объект {BaseParamValue0: 10, BaseParamValue1: 10, BaseParamValue2: 17,…} length: 2: Array [] length: 23: [
Так что теперь у меня в основном есть массив массивов объектов.
for (var i = 0; i < 22; i++) {
console.log(i + " " + items[i]);
}
Однако, это выводит 1 как неопределенное, console.log (items [1]) также выводит неопределенное.Почему?