在我的json
我有4个值示例实例:
{
details : [{"division" : "X"}, {"division" : "X"}, {"division" : "X"}, {"division" : "X"}]
}
在上面的例子中,“division”具有相同的值,它有4个实例。我如何从中选择一个“分区”值??
我的尝试:
<% _.each(details, function(item, index) { %>
<span><%= item.divisionCode %></span> //I am getting 4 times.
<% }) %>
所以我试着这样:
<% _.each(details, function(item, index) { %>
<span><%= item[0].divisionCode %></span> //But not works!
<% }) %>
这样做的正确方法是什么?
我的期望是:
一旦我想找到“divisionCode”(如果存在),就让它打印出来。以后需要跳过。如何实现这个目标?
这样的事情?
<% _.each(results, function(item, index) { %>
<span><%= !item.divisionCode ? item.divisionCode : null %></span>
<% }) %>
我可以这样做:
<span><%= details[0].divisionCode %></span>
但如果第一个实例因divisionCode而失败,那么我就无法从其他人那里打印出来了!
答案 0 :(得分:1)
<% _.each(details, function(item, index) { %>
<span><%= item[0].divisionCode %></span> //But not works!
<% }) %>
因此,在这个实例中,item指的是数组项而不是数组本身,看看你是如何使用_.each迭代数组的。因此,item [0]实际上是试图访问该项目上的属性0,该属性不存在(它未定义)。
<span><%= details[0].division %></span>
这样可行,但我不认为这是你真正想要的。
我不确定你想要什么但使用下划线(你可能想考虑使用lodash)_。find方法可能就是你想要的。 Find将返回第一个匹配的实例,您可以像这样使用它:
<span><%= _.find( details, 'division' ) %></span>
一旦我想找到&#34; divisionCode&#34;如果存在,让它打印。后来 它需要跳过。如何实现这个目标?
为了跳过迭代中的值,只需插入一些逻辑来执行if,并在输出之前检查该值是否存在。
答案 1 :(得分:0)
据我所知,您想从中获取单个除法值 JSON 集合对象。但您使用的是 divisionCode 部门 由于 JSON 对象表明它包含重复值。您可以使用以下代码删除 JSON 集合
中的重复项var u = _.uniq(details);
上面的代码返回对象的集合。 然后使用以下命令在模板中的span中打印对象值
<% _.each(u, function(item, index) { %>
<span><%= item.division %></span>
<% }) %>