Javascript for in循环返回[对象]
我想查看一个对象,但我不确定它实际上包含什么,当我按如下方式循环时,我得到以下结果:Javascript for in循环返回[对象],javascript,loops,object,Javascript,Loops,Object,我想查看一个对象,但我不确定它实际上包含什么,当我按如下方式循环时,我得到以下结果: <% for(var index in errors) {%> <%= errors[index] %> <% } %> [object Object] [object Object] [object Object] [object Object] [object Object] [对象对象][对象对象][对象对象][对象对象对象][对象对象对象] 我确实希望
<% for(var index in errors) {%>
<%= errors[index] %>
<% } %>
[object Object] [object Object] [object Object] [object Object] [object Object]
[对象对象][对象对象][对象对象][对象对象对象][对象对象对象]
我确实希望得到5个结果,但我需要以某种方式深入到循环中,并获得内部对象的实际内容,但我不知道如何做到这一点
这都是纯javascript,上面的脚本只是node/express的模板引擎。
stringify
打印前将对象字符串化:
<% for(var index in errors) {%>
<%= JSON.stringify(errors[index]) %>
<% } %>
错误对象可能如下所示:,
error={
{},{},{}
}
格式为,只打印字符串值,不打印对象文本,
如果要调试,可以编写JSON.stringify(errors[index])
或者,如果要打印子元素,请使用error[index]['childKeyName']可能在
errors
中的另一个对象中。添加JSON.stringify
JSON.stringify(errors[index]);这就够了!还有一个问题,当我stringify时,我得到了literal JSON对象,param:msg,因此我得到了JSON.stringify(errors[index].msg)
,我确实得到了相应的消息,但被一些问题所包围,例如:“Name field is required”
。知道如何去掉引号吗?只有当你想打印对象时才需要字符串化msg
是一个字符串,因此您可以跳过stringify:
。