【问题标题】:Is it possible to build dynamic custom object in Javascript是否可以在 Javascript 中构建动态自定义对象
【发布时间】:2012-04-24 01:53:51
【问题描述】:

我正在开发一个包含 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]
  ]);

感谢您的帮助。

【问题讨论】:

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


    【解决方案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);
    

    【讨论】:

    • 感谢示例,我将尝试一下。
    【解决方案2】:

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

    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 一样访问它们

    【讨论】:

    • 不幸的是我不知道的属性。
    • 你到底想要什么在新的动态对象中......你想要对象的新方法吗?这也是允许的..
    猜你喜欢
    • 1970-01-01
    • 2011-09-05
    • 2019-07-04
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    相关资源
    最近更新 更多