如何使用Handlebars迭代数组并访问地图?

时间:2012-08-14 13:13:45

标签: javascript handlebars.js

我的数据结构类似于下面的代码,我想用Handlerbars迭代。虽然可以执行此迭代的javascript代码很明确,但我还是无法弄清楚如何在手柄中执行此操作。

var keys = ['key1','key2','key3'] 
var map = {'key1':{...}, 'key2':{...}, 'key3':{...}, .... 'keyN': {...}} 

我想在把手内做的是迭代keys数组并使用keys数组中的值从地图中查找对象。这可以在不写助手的情况下完成吗?

UPDATE 我知道如何在javascript中编写代码,我想做的是“我可以使用handlebarJS表达式在原始js中做什么”。

1 个答案:

答案 0 :(得分:1)

试试这个:

for(var i=0; i<keys.length; i++){
   console.log(map[keys[i]])
}

Handlebars.registerHelper('list', function(keys, maps) {
  var out = "<ul>";

  for(var i=0, i=keys.length; i++) {
    out = out + "<li>" + map[keys[i]] + "</li>";
  }

  return out + "</ul>";
});