计算多维数组中的元素数量
我得到了这段代码:
loadData : function(jsonArray) {
var id = $(this).attr("id");
for(var i in jsonArray) {
$("#"+id+" tbody").append('<tr class="entry-details page-1 entry-visible" id="entry-'+i+'"></tr>');
var header = {
1: "time",
2: "project",
3: "task"
}
var col = 1;
while(col <= jsonArray[i].length) {
$("#"+id+" tbody #entry-"+i).append("<td>"+jsonArray[i][header[col]]+"</td>")
col++
}}
它将采用一个类似于以下内容的 JSON 数组
{"1":{"project":"RobinsonMurphy","task":"Changing blog templates","time":"18\/07\/11 04:32PM"},"2":{"project":"Charli...
代码应该循环遍历行(确实如此),然后循环遍历数据列。
我面临的问题是为了将列数据放置在正确的列中,我需要计算连续返回多少条数据。我尝试了 jsonArray[i].length,但是这返回未定义。
任何帮助将不胜感激
Ive got this code:
loadData : function(jsonArray) {
var id = $(this).attr("id");
for(var i in jsonArray) {
$("#"+id+" tbody").append('<tr class="entry-details page-1 entry-visible" id="entry-'+i+'"></tr>');
var header = {
1: "time",
2: "project",
3: "task"
}
var col = 1;
while(col <= jsonArray[i].length) {
$("#"+id+" tbody #entry-"+i).append("<td>"+jsonArray[i][header[col]]+"</td>")
col++
}}
It will take a JSON array that looks similar to the following
{"1":{"project":"RobinsonMurphy","task":"Changing blog templates","time":"18\/07\/11 04:32PM"},"2":{"project":"Charli...
The code should loop through the rows (which it does), and then loop through the colums of data.
The problem I am facing is in order to place the column data in the correct column, I need to calculate how many pieces of data are being returned in a row. I tried jsonArray[i].length, however this returns undefined.
Any help would be appreciated
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您根本没有任何数组,只有对象。
要对对象中的项目进行计数,请创建一个简单的函数:
现在,您可以调用
countInObject(jsonArray[i])
。You do not have any arrays at all, only objects.
To count items in an object, create a simple function:
Now, you can call
countInObject(jsonArray[i])
.像这样:
JavaScript 对象的长度
Like this:
Length of a JavaScript object
看看那个小提琴:
http://jsfiddle.net/Christophe/QFHC8/
键
代替
Have a look to that fiddle :
http://jsfiddle.net/Christophe/QFHC8/
key is
instead of
jsonArray[i].length 不起作用,因为 jsonArray[i] 是字典而不是数组。你应该尝试这样的事情:
jsonArray[i].length will not work because jsonArray[i] is a dictionary not an array. You should try something like:
我一直面临同样的问题,我编写了一个函数来获取组合的多维数组/对象中的所有标量值。如果对象或数组为空,那么我认为它不是一个值,因此我不会对它们求和。
或者,如果您想在生产中使用它,您甚至可以考虑将其添加到对象原型中,如下所示:
I've been facing the same issue and I scripted a function that gets all the scalar values in a multidimensional Array/Object combined. If the object or array are empty, then I assume that it's not a value so I don't sum them.
Or if you want to use this in production, you could even think about adding it to the Object prototype, like this: