Мне нужна помощь здесь. Я запутался, как правильно получить данные объекта. Когда console.info(ответ.данные.Данные) Мои данные выглядят так:
Object {
"2014": Object {
"1": "3.385",
"10": "-0.191",
"11": "0.383",
"12": "0.191",
"2": "3.023",
"3": "3.667",
"4": "3.774",
"5": "-2.045",
"6": "2.088",
"7": "5.455",
"8": "-3.448",
"9": "16.741",
},
"2015": Object {
"1": "1.905",
"10": "5.092",
"11": "-4.070",
"12": "7.475",
"2": "5.421",
"3": "5.142",
"4": "-9.106",
"5": "4.824",
"6": "-4.425",
"7": "-2.963",
"8": "-1.527",
"9": "-4.845",
},
"2016": Object {
"1": "-1.504",
"10": "-1.115",
"11": "-7.891",
"12": "8.392",
"2": "2.863",
"3": "-1.299",
"4": "-1.880",
"5": "-0.383",
"6": "2.500",
"7": "8.443",
"8": "4.152",
"9": "4.319",
}
}
Я не могу использовать console.info(ответ.данные.Данные.2014) или console.info(ответ.данные.Объект данных).
Я хочу получить данные объекта года и месяца. Как получить данные об этом объекте?
Благодарю вас
Если мы посмотрим на ваш объект, вы используете целое число в качестве ключа. Хотя вы преобразовали целое число в строку, вы не можете использовать его как data.2014
. Вы должны использовать data["2014"]
.
✔ Имя ключа объекта данных будет работать как data.key
только тогда, когда ваш объект будет выглядеть так:
const data = {
key: "Value"
}
или
const data = {
key2022: "Value"
}
✘ Но это не будет работать, если вы используете целое число перед ключом или используете только целое число для имени своего ключа, и вам нужно использовать data["key"]
:
const data = {
"1key": "Value"
}
или
const data = {
"1234": "Value"
}
✔ Итак, если вы хотите получить значение, вам нужно использовать этот код и попытаться использовать data["key"]
вместо data.key
для вашего объекта.
const data = {
"2014": {
"1": "3.385",
"10": "-0.191",
"11": "0.383",
"12": "0.191",
"2": "3.023",
"3": "3.667",
"4": "3.774",
"5": "-2.045",
"6": "2.088",
"7": "5.455",
"8": "-3.448",
"9": "16.741",
},
"2015": {
"1": "1.905",
"10": "5.092",
"11": "-4.070",
"12": "7.475",
"2": "5.421",
"3": "5.142",
"4": "-9.106",
"5": "4.824",
"6": "-4.425",
"7": "-2.963",
"8": "-1.527",
"9": "-4.845",
},
"2016": {
"1": "-1.504",
"10": "-1.115",
"11": "-7.891",
"12": "8.392",
"2": "2.863",
"3": "-1.299",
"4": "-1.880",
"5": "-0.383",
"6": "2.500",
"7": "8.443",
"8": "4.152",
"9": "4.319",
}
}
// To access the object of specific year use data["year"]
console.info(data["2014"])
// To access the value of specific month use data["year"]["month"]
console.info(data["2014"]["2"])
Да, это возможно. Но вы должны вложить свой цикл. Например, вы должны использовать .forEach()
, чтобы получить объект года. И под этим .forEach
вы должны запустить цикл for
, счет которого начинается с 1 и прерывается, когда значение равно 13.
А чтобы получить годы использования forEach, вы можете использовать loDash
. Пожалуйста, обратитесь к LoDash, если вы хотите узнать больше об этом
я не знаю, как использовать LoDash
Затем вы можете либо прочитать их документы, нажав на ссылку, либо использовать обычные forEach
вместо _.forEach
loDash.
Вы можете сделать так
const data = {
"2014": {
"1": "3.385",
"10": "-0.191",
"11": "0.383",
"12": "0.191",
"2": "3.023",
"3": "3.667",
"4": "3.774",
"5": "-2.045",
"6": "2.088",
"7": "5.455",
"8": "-3.448",
"9": "16.741",
},
"2015": {
"1": "1.905",
"10": "5.092",
"11": "-4.070",
"12": "7.475",
"2": "5.421",
"3": "5.142",
"4": "-9.106",
"5": "4.824",
"6": "-4.425",
"7": "-2.963",
"8": "-1.527",
"9": "-4.845",
},
"2016": {
"1": "-1.504",
"10": "-1.115",
"11": "-7.891",
"12": "8.392",
"2": "2.863",
"3": "-1.299",
"4": "-1.880",
"5": "-0.383",
"6": "2.500",
"7": "8.443",
"8": "4.152",
"9": "4.319",
}
}
for (const year in data) {
console.info(`${year}: ${data[year]}`);
for (const month in data[year]) {
console.info(`${month}: ${data[year][month]}`);
}
}
и вот документ для него: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in
этот выглядит проще
можно ли сделать цикл в этом случае? Я хочу зациклить ответ