Javascript JSON对象仅显示第一个键,忽略其余键

Javascript JSON对象仅显示第一个键,忽略其余键,javascript,arrays,json,loops,Javascript,Arrays,Json,Loops,我以前从未遇到过这种情况,但下面的示例显示了JSON结构,但是它只将长度返回为1,并且不会显示0之后的任何对象 我真的不知道这里出了什么问题,希望有人看到我不知道的东西。提前谢谢你 值得一提的是,以下代码: var count = Object.keys(r.tasks).length; var i = 0; $.each(r.tasks[userid],function(k,v){ var day = new Date(v.

我以前从未遇到过这种情况,但下面的示例显示了JSON结构,但是它只将长度返回为1,并且不会显示0之后的任何对象

我真的不知道这里出了什么问题,希望有人看到我不知道的东西。提前谢谢你

值得一提的是,以下代码:

        var count = Object.keys(r.tasks).length;
        var i = 0;
        $.each(r.tasks[userid],function(k,v){
          var day = new Date(v.day);
          var data = {
            id: k,
            d: day,
            taskID: parseInt(v.task_id),
            location: v.location,
            address: v.address,
            blurb: v.blurb,
            prettyDate: v.pretty_date,
            techStatus: v.tech_status,
            tags: v.all_tags,
            taskTotal: v.task_total
          };
          returnTasks.push(data);
          i++;
          if(i == count){
            loadDay(returnTasks);
          }
        });


        function loadDay(events){
          console.log(events);
          console.log(events.length);
        }

您将
count
设置为错误的长度。您正在循环执行
r.tasks[userid]
,但您正在将其设置为
r.tasks
中的属性数量(即不同用户的数量,而不是此用户的任务数量)。应该是:

var count = Object.keys(r.tasks[userid]).length;
如果
r.tasks[userid]
是一个数组,则不需要使用
Object.keys()
,只需使用

var count = r.tasks[userid].length;

在这种情况下,您也不需要
i
变量,因为
k
将是数组索引。

json。。。对象长度?请添加真实数据。需要查看代码。可能是打字错误。
myTasks
是什么?你的意思是记录事件吗?添加到代码@ShakilAhmed中。。。不管我做什么,它都不会循环通过第一个对象。@chazsolo,是的,这应该是事件。试图简化发布代码。