gpt4 book ai didi

javascript - JS中当变量的值是由变量组成的对象时,如何声明变量?

转载 作者:太空宇宙 更新时间:2023-11-04 15:46:55 25 4
gpt4 key购买 nike

我在 JSON 格式的文件中有多个对象,它们具有相同的字符串但不同的值:

{
"object_1": {
"data1": [1, -1],
"data2": [2, -1],
"data3": [3, -1],
},
"object_2": {
"data1": [4, -1]
"data2": [5, -1],
"data3": [6, -1],
}
}

我可以使用 getJSON() 检索对象中的数据:

var url = "https://website.com/file.json";
$.getJSON(url, function (json) {
var mydata1 = json.object_1.data1;
var mydata2 = json.object_1.data2;
var mydata3 = json.object_1.data3;
});

但是我有几个对象,我不想为所有对象重复相同的三行。我想通过使用以对象 ID 作为输入的函数来创建这些变量 mydata1 mydata2mydata3

我的问题是,当变量的值是由变量组成的对象时,我无法弄清楚如何创建变量。例如,这里 id 是一个用于选择 JSON 对象的变量:object_1object_2

$.getJSON(url, function (json) {

var id = 1 // use id = 1 on page load

function loadJSON(id) {

// all these declaration fail
eval("var mydata1 = string.concat('json.object_', id, '.data1')");
var mydata1 = string.concat("json.object_", id, ".data1");
var mydata1 = window["json.object_" + id + ".data1"];
);

// then rewrite the data on click

$('#button_2').click(function () {
loadJSON(2);
});
$('#button_1').click(function () {
loadJSON(1);
});

)},

如何在函数中声明这些变量?

谢谢,

最佳答案

使用bracket notation通过变量属性名称引用值:

var mydata1 = json['object_' + id].data1;

关于javascript - JS中当变量的值是由变量组成的对象时,如何声明变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43498910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com