Dustjs仅显示唯一值?

时间:2014-07-04 04:11:44

标签: dust.js

假设我有以下JSON

{
   names: ["John", "Peter", "Ron", "John", "James", "John"]
}

我需要DustJS来呈现以下名称

John 
Peter
Ron
James

请注意,这些是数组中的唯一值。有任何想法吗?非常感谢你!

2 个答案:

答案 0 :(得分:1)

这可以使用通用算法来“唯一”一个数组:

Array.prototype.getUnique = function(){
   var u = {}, a = [];
   for(var i = 0, l = this.length; i < l; ++i){
      if(u.hasOwnProperty(this[i])) {
         continue;
      }
      a.push(this[i]);
      u[this[i]] = 1;
   }
   return a;
}

通过获取值,尝试将它们添加为对象的键(仅在它们不同时才起作用)来完成。如果成功,它会将该键添加到数组中。如果失败,它会忽略密钥。然后它返回数组。我在这里有一个工作的dust.js演示:

Working Demo

答案 1 :(得分:1)

我相信这会产生你的&#34;也可以接受&#34;形式:

{#options}] {.} {#variants} {.options[$idx]} {/variants} {/options}