Javascript 无法从for循环中获得预期结果

Javascript 无法从for循环中获得预期结果,javascript,Javascript,我在for循环中遇到了if语句的问题,其中项目在h1下不适合,就像我预期的那样。几乎就像if在第一次尝试时被错过了一样,这会把事情搞砸 下面是一些示例代码和附带的JSFIDLE var jsonOut=[{ “支票”:[{ “名称”:“新加坡”, }, { “名称”:“旧金山”, }, { “姓名”:“悉尼”, } ], “时间戳”:1535678338, }, { “支票”:[{ “名称”:“新加坡”, }, { “名称”:“旧金山”, }, { “姓名”:“悉尼”, } ], “时间戳”:

我在for循环中遇到了if语句的问题,其中项目在h1下不适合,就像我预期的那样。几乎就像if在第一次尝试时被错过了一样,这会把事情搞砸

下面是一些示例代码和附带的JSFIDLE

var jsonOut=[{
“支票”:[{
“名称”:“新加坡”,
},
{
“名称”:“旧金山”,
},
{
“姓名”:“悉尼”,
}
],
“时间戳”:1535678338,
},
{
“支票”:[{
“名称”:“新加坡”,
},
{
“名称”:“旧金山”,
},
{
“姓名”:“悉尼”,
}
],
“时间戳”:1535678338,
},
{
“支票”:[{
“名称”:“新加坡”,
},
{
“名称”:“旧金山”,
},
{
“姓名”:“悉尼”,
}
],
“时间戳”:1535594440,
},
{
“支票”:[{
“名称”:“新加坡”,
},
{
“名称”:“旧金山”,
},
{
“姓名”:“悉尼”,
}
],
“时间戳”:1535594440,
},
]
变量内容=“”
var lastDate=0
for(var i=0;i'
contentNow=testDate+'
'+ResultName } if(jsonOut[i].时间戳!=lastDate){ h1marker=”“+testDate.getDate()+“” lastDate=jsonOut[i]。时间戳 } 内容=h1marker+contentNow+content } $(“#测试”).html(内容)

您的if语句完全没有问题。你的代码在这部分

content=h1marker+contentNow+content

将新内容放在旧内容之前,因此每个日期的第二个条目位于标题“30”上方

将其更改为
content=content+h1marker+contentNow
,如以下代码段所示:

var jsonOut=[{
“支票”:[{
“名称”:“新加坡”,
},
{
“名称”:“旧金山”,
},
{
“姓名”:“悉尼”,
}
],
“时间戳”:1535678338,
},
{
“支票”:[{
“名称”:“新加坡”,
},
{
“名称”:“旧金山”,
},
{
“姓名”:“悉尼”,
}
],
“时间戳”:1535678338,
},
{
“支票”:[{
“名称”:“新加坡”,
},
{
“名称”:“旧金山”,
},
{
“姓名”:“悉尼”,
}
],
“时间戳”:1535594440,
},
{
“支票”:[{
“名称”:“新加坡”,
},
{
“名称”:“旧金山”,
},
{
“姓名”:“悉尼”,
}
],
“时间戳”:1535594440,
},
]
变量内容=“”
var lastDate=0
for(var i=0;i'
contentNow=testDate+'
'+ResultName } if(jsonOut[i].时间戳!=lastDate){ h1marker=”“+testDate.getDate()+“” lastDate=jsonOut[i]。时间戳 } content=content+h1marker+contentNow } $(“#测试”).html(内容)


当您有堆栈片段时,不需要JSFIDLE<代码>:D对不起,我不太理解你的问题。发生了什么?你期待什么?我不清楚你的意思。当您在调试器中逐步执行此操作时,行为首先与您期望的有什么不同?哪一行代码会产生意外的结果?该行中使用的变量的相关运行时值是什么?预期的结果是什么?为什么?我不清楚你期望的确切输出是什么?你能详细说明你的问题吗?你的代码对我来说很好。日期(从日期算起)较大,则该日的附加信息在其下方。提供一个预期的输出将大大有助于理解您所说的“项目在h1[tag]下不适合”的含义。感谢您获得了它,我无法相信修复如此明显,我是如何错过它的。