【问题标题】:Pushing a values in a Particular format to an array将特定格式的值推送到数组
【发布时间】:2013-07-01 06:43:22
【问题描述】:

我想动态创建一个数组,该数组的值应为

var dat1 = [
    { x: 0, y: 32.07  },
    { x: 1, y: 37.69  },
    { x: 2, y: 529.49 },
    { x: 3, y: 125.49 },
    { x: 4, y: 59.04  }
];

我想将整个数据动态存储到一个数组中。我从 json 数据中获取这些值。我希望数组采用这种格式。如何创建它?

我试过了:

$.each(r_data, function(key, val) {
    data1.push([{
        x : i,
        y : parseFloat(val.something)
    }]);
    i++;        
});

...但没有得到我想要的结果。

【问题讨论】:

  • 有什么问题?推送一个对象
  • 322 是指32 吗?你想在这里做什么?确定数字?
  • @T.J.Crowder 同意。很抱歉。
  • @Ash:我冒昧地编辑了这个问题,以便从旧版本中添加一些信息。如果我重新引入了错误的内容,请重新编辑。

标签: javascript jquery arrays rickshaw


【解决方案1】:

假设你有

var data1 = [];

...而且可能

var i = 0;

...在你的代码之前,你的代码会产生这个结构:

var data1 = [
    [ { x: 0, y: 32.07  } ],
    [ { x: 1, y: 37.69  } ],
    [ { x: 2, y: 529.49 } ],
    [ { x: 3, y: 125.49 } ],
    [ { x: 4, y: 59.04  } ]
];

请注意您是如何最终得到一个数组,其中每个条目都是另一个数组,而该数组又包含具有xy 属性的对象。

我怀疑你想要:

var data1 = [];
var i = 0;
$.each(resultBar_data, function(key, value) {
    data1.push({
        x : i,
        y : parseFloat(value.averagePrice)
    });
    i++;        
});

...它只是将对象直接推送到data1,而不将它们包装在额外的数组中(注意我已经删除了被推送的[])。您可以像这样访问这些条目:

console.log("The first entry is "  + data1[0].x + "," + data1[0].y);
console.log("The second entry is " + data1[1].x + "," + data1[1].y);

【讨论】:

  • @Ash:我的 “但我怀疑你的意思是” 代码执行更新后的问题。
【解决方案2】:

format 是一个对象数组。在您的以下代码中,您尝试将 一个数组 [{x:i, y:parseFloat(value.averagePrice)}] 推送到格式数组:

$.each(resultBar_data, function(key, value) {
    format.push([{ /*array start*/
        x : i,
        y : parseFloat(value.averagePrice)
    }] /*array end*/
    );
    i++;        
    });

记住方括号表示一个数组。

我认为解决你的问题应该是:

/*i just removed the square brackets so that push now pushes an object, 
not an array with a single object*/
format.push({ 
        x : i,
        y : parseFloat(value.averagePrice)
    });

希望这会有所帮助,如果您需要更多信息,或者我误解了您的问题,请询问!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 2017-03-16
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    相关资源
    最近更新 更多