Ваш i
не является ключом, а порядковым номером этого ключа.
Изменить код:
var keys = Object.keys(items.rgInventory);
for (var i = 0; i < keys.length; i++) {
console.log(items.rgInventory[keys[i]].classid);
}
Обратите внимание, что с синтаксисом for...of
, он может быть кодированной как это:
for (var key of Object.keys(items.rgInventory)) {
console.log(items.rgInventory[key].classid);
}
Синтаксис for...in
является более подходящим для итерации ключей объекта:
for (var key in items.rgInventory) {
console.log(items.rgInventory[key].classid);
}
Вы также можете использовать forEach
обратного вызова, с красивым вторым аргументом для установки this
:
Object.keys(items.rgInventory).forEach(function (key) {
console.log(this[key].classid);
}, items.rgInventory);
@bluetoft Это опечатка, которая могла бы быть решена в течение примерно десяти секунд, просто рассматривая соответствующую переменные в отладчике. Это определение учебника «не полезно». –
console.log (items.rgInventory ['1908569708']. Classid); –