如果我使用像
这样的对象提供下划线模板{
key1: value1,
key2: [value20, value21, ...]
}
然后在模板中我可以使用_.each(key2, function())
迭代它。
但是,如果它是顶级的,那么我可以遍历数组
[
val1,
val2,
...
]
可能类似于_.each(this, function())
答案 0 :(得分:0)
您似乎正在寻找_.values。
var data = {
key1: "value1",
key2: ["value20","value21"]
};
console.log(_.values(data));
//["value1", ["value20", "value21"]]
然后你可以用_.each来迭代列表
答案 1 :(得分:0)
是。默认情况下,传递给模板的对象名为obj
。 lodash另外允许使用传入的variable
参数的options
属性重命名;我不相信下划线支持这一点。
从REPL展示:
> require('underscore').template('<%= obj.length %>')([ 'a', 'b', 'c' ]);
'3'
> require('underscore').template('<%= foo.length %>', { variable: 'foo' })([ 'a', 'b', 'c' ]);
ReferenceError: foo is not defined
> require('lodash').template('<%= foo.length %>', { variable: 'foo' })([ 'a', 'b', 'c' ]);
'3'
我的来源是lodash docs;我浏览了underscore docs并且没有看到对此的引用,因此它可能是下划线中不受支持的功能。