2015-03-05 4 views
0

Я показываю идентификаторы продуктов из файла json для каждого вида, используя цикл подчеркивания. Я хочу, чтобы в цикле не было повторных идентификаторов, как я могу это сделать?Отображать только уникальные значения в цикле подчеркивания

JS (подчеркивание)

<% _.each(listItem.products, function(product, index){ %>                   
      <li class="tab-link productTile tab-<%= index + 1 %>" data-tab-id="<%= index + 1 %>" data-product-pid-thumb="<%= product %>"></li> 
    <% }) %> 

JSON

looks = [{ 
     "id": "look1", 
     "products": ["hbeu50271385", "hbeu50274296", "hbeu50272359", "hbeu50272802", "hbeu50272802", "hbeu50272802", "hbeu50272802"] 
    }, { 
     "id": "look2", 
     "products": [ 
      "hbeu50274106", "hbeu50273647", "hbeu50274754", "hbeu50274063", "hbeu50274911", "hbeu50274106", "hbeu50240022", "hbeu50271944" 
     ] 
    }, { 
     "id": "look3", 
     "products": [ 
      "hbeu50272935", "hbeu50274426", "hbeu50271624", "hbeu50274762", "hbeu50275366", "hbeu50274433", "hbeu50262002", "hbeu50272364", "hbeu50272359" 
     ] 
    } 
    ....... 
] 
+0

Вы можете использовать метод [_.uniq] (http://underscorejs.org/#uniq) – hindmost

ответ

0

Вы можете использовать _uniq метод как это:

var looks = [{id:1}, {id:1}, {id:2}]; 

var uniqProducts = _.uniq(looks, function(l) { 
    return l.id; 
}); 

Затем измените на этот вар в цикле :

<% _.each(uniqProducts, function(product, index){ %>                   
    <li class="tab-link productTile tab-<%= index + 1 %>" data-tab-id="<%= index + 1 %>" data-product-pid-thumb="<%= product %>"></li> 
<% }) %>