2012-10-08 44 views
1

我有安装使用.each得到JSON字符串编码到一个数组的循环使用jQuery的jqBarGraphjQuery的。每个与parseInt函数阵列循环 - 让NaN的

循环:

 $.each(dataarray, function (i, item) { 
     JSarray[i] = [parseInt(item['count']),parseInt(item['year'])];       
    }); 

的在DataArray中的数据包含一个JSON字符串=

{"graph":{"count":"45","year":"2007"}} 

.each回路包含在JSarray

这些值
[45, 2007] 

所以单串的作品,当我试图通过更多的数据,我得到了谷NaN的

如果我尝试在数据DataArray中NaN的使用这个JSON编码字符串自带

{"graph":[{"count":"45","year":"2007"},{"count":"390","year":"2008"}]} 

我的JSarray看起来像这样

[NaN, NaN] 

我在做什么错?

+0

你现在有一个数组列表,而不是为“图形”属性的字典。你需要更新$ .each方法 – karthikr

+0

非常感谢 - 我只是还没有得到我的头和数组。 – user1557970

回答

2
{"graph":[{"count":"45","year":"2007"},{"count":"390","year":"2008"}]} 

属性现在包含一个数组。你将需要遍历它来解析你的整数。

我想试试这个...

$.each(dataarray.graph, function(_, obj){ 
    JSarray.push([parseInt(obj.count), parseInt(obj.year)]); 
}); 

请记住,一个普通for循环将是最好的,因为$.each是这个有点贵。

+0

非常感谢它的魅力 - 我真的需要让我的头靠近物体和数组 – user1557970

+0

@ user1557970不客气。如果这个答案适合你,请接受它。如果没有,请考虑接受其他答案以表示您的赞赏。欢迎来到SO。 – Kyle

0

执行以下操作:

$.each(dataarray.graph, function (i, item) { 
    JSarray[i] = [parseInt(item['count']),parseInt(item['year'])];       
}); 
0

您需要:

$.each(dataarray['graph'], function (i, item) { 
    JSarray[i] = [parseInt(item['count']),parseInt(item['year'])];       
});