是否可以在Javascript中构建动态自定义对象

时间:2012-04-11 17:58:14

标签: javascript asp.net ajax google-visualization javascript-objects

我正在一个拥有Google图表的网站上工作,该网站包含JavaScript Ajax,它从Web服务中提取数据,并且应该创建将传递给图表的对象。

如果可以构建这个自定义对象,你能不能给我一个如何这样做的例子,我的问题在于理解我是如何从自定义值构造它的(比如说数组)。

该对象看起来像

 chart_data.addRows([
        ['1', 1000, 400, 200],
        ['2', 1000, 460, 200],
        ['3', 860, 580, 200],
        ['4', 1030, 540, null],
        ['5', null, 540, null]
  ]);

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

函数调用使用数组(数组),而不是对象。您可以像这样构建数组,并使用变量:

调用该函数
var arr = [];
arr.push(['1', 1000, 400, 200]);
arr.push(['2', 1000, 460, 200]);
arr.push(['3', 860, 580, 200]);
arr.push(['4', 1030, 540, null]);
arr.push(['5', null, 540, null]);

chart_data.addRows(arr);

数组中的每个数组也可以动态构建:

var arr1 = [];
arr1.push('1');
arr1.push(1000);
arr1.push(400);
arr1.push(200);
arr.push(arr1);

答案 1 :(得分:1)

您可以像这样构建动态对象

var ob = new Object();
ob.property1 = 'value1';
ob.property2 = 'value2';

让我们说你在运行时不知道属性的名称,你也可以尝试这个

var ob = new Object();
for(var i = 0; i< 3; i++) ob['property'+i] = value[i];

并像ob.property1或ob.property2

一样访问它们