Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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对象,以便动态地将数据插入其中?_Javascript_Auto Populate - Fatal编程技术网

如何定义具有以下结构的空javascript对象,以便动态地将数据插入其中?

如何定义具有以下结构的空javascript对象,以便动态地将数据插入其中?,javascript,auto-populate,Javascript,Auto Populate,我正在使用JIT Infovis堆叠或单值piechart来进行数据可视化。堆叠饼图采用具有以下结构的对象“obj”: 这是jsonObj的硬编码版本: var obj = { // labelID is unique in each case and may be multiple or just one 'labelID': ['pVal'], 'values': [{ //labelName is unique in each case

我正在使用JIT Infovis堆叠或单值piechart来进行数据可视化。堆叠饼图采用具有以下结构的对象“obj”:

这是jsonObj的硬编码版本:

  var obj = {
        // labelID is unique in each case and may be multiple or just one
        'labelID': ['pVal'],
        'values': [{ //labelName is unique in each case and will only be one
            'labelName': 'name1',
            //there may be multiple or just one "values"
            //ex, 'values': [80, 40, 15, 10]
            'values': 80
        }, {
            'labelName': 'name2',
            'values': [20]
        }, {
            'labelName': 'name3',
            'values': [38]
        }, {
            'labelName': 'name4',
            'values': [58]
        }]
    };
我试图用返回给用户的搜索数据动态填充“obj”。但是,我无法创建具有上述特定结构的空“obj”来动态填充数据。我尝试了好几次,但我认为我没有正确地创建它们。 我有三个值,我正试图动态地填充到这个“obj”中,但我无法控制它<代码>chartID[m]、chartArrName[m]、chartVal[m]

我需要一个与上面定义的结构相对应的正确的空“obj”

 var "obj" = {
        label: ['pVal'],
        values: [{
            label: [],
            values: []
        }]
    };
    for (m = 0; m <= chartArrID.length - 1; m++) {
        obj.values[m].label += chartArrName[m];
        obj.values[m].values += parseFloat(chartArrVal[m]);
        //json.push({label: chartArrName[m], values: parseFloat(chartArrVal[m])});
    }
var“obj”={
标签:['pVal'],
价值观:[{
标签:[],
值:[]
}]
};

对于(m=0;m这不是JSON对象。JSON是一种轻量级数据交换格式。您只需使用对象初始值设定项语法来创建对象。您可以添加所需的内容

var myObj = {};
myObj.name = "foo";
myObj.books = [ "one", "two" ];
myObj.emptyField = null;
myObj.emptyArray = [];
myObj["anotherField"] = "bar";   // this works too

myObj.anotherArray = [];

myObj.anotherArray[0] = {};  // you need to insert something in the first position!
myObj.anotherArray[0].label = "aaa";
myObj.anotherArray[0].value = "bbb";
myObj.anotherArray[0].xyz = "ccc";

myObj.anotherArray[1] = {};  // in the second too, of course!
myObj.anotherArray[1].label = "ddd";
myObj.anotherArray[1].value = "eee";
myObj.anotherArray[1].xyz = "fff";

在这个问题上没有什么是JSON。纠正和更新这个问题,谢谢!当你在结构的中间有数组时,你的建议怎么办?我怎么才能创建一个对象并动态地填充数据呢?VAR JSON= {};JSON.Label=“pVAL”;JSON.Value[0 ]。;未捕获类型错误:无法读取未定义json的属性“0”。值[0]。值=parseFloat(ChartarVal[0]);json.values[1]。标签=chartArrName[1];json.values[1]。值=parseFloat(chartArrVal[1]);json.values[2]。标签=chartArrName[2];json.values[2]。值=parseFloat(chartArrVal[2]);你能更新你的问题吗?你能解释出哪里出了问题吗?你正在尝试在和元素中插入一个未定义的字段…我在代码中插入了更多示例…看一看。更新了,但遇到了更多问题,我将在另一个线程中解决。谢谢davidbuzatto!