Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当变量';s值是由JS中的变量组成的对象?_Javascript - Fatal编程技术网

Javascript 当变量';s值是由JS中的变量组成的对象?

Javascript 当变量';s值是由JS中的变量组成的对象?,javascript,Javascript,我在JSON格式的文件中有几个对象,它们的字符串相同,但值不同: { "object_1": { "data1": [1, -1], "data2": [2, -1], "data3": [3, -1], }, "object_2": { "data1": [4, -1] "data2": [5, -1], "data3": [6, -1], } } 我能够使用get

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

{
    "object_1": {
        "data1": [1, -1],
        "data2": [2, -1],
        "data3": [3, -1],
    },
    "object_2": {
        "data1": [4, -1]
        "data2": [5, -1],
        "data3": [6, -1],
    }
}
我能够使用
getJSON()
检索对象中的数据:

但是我有几个对象,我不想为所有对象复制相同的三条线。我想通过使用对象id作为输入的函数来创建这些变量
mydata1
mydata2
mydata3

我的问题是,当变量的值是由变量组成的对象时,我不知道如何创建变量。例如,这里的
id
是一个用于选择JSON对象的变量:
object_1
object_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);    
    });

)},
如何在函数中声明这些变量

谢谢,

用于按变量属性名称引用值:

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

您试图做的事情只能通过
eval()
来完成,但实际上没有意义。不要使用单个变量,而是使用对象并构造对象属性名称。
json['object\'+id].data1
。。。
var mydata1 = json['object_' + id].data1;