Javascript jade在迭代中获取对象keyname
我想要的输出是:Javascript jade在迭代中获取对象keyname,javascript,json,node.js,pug,Javascript,Json,Node.js,Pug,我想要的输出是: var data = { thing: 'value1', thing2: 'value2', thing3: 'value3' }; each val, index in data li= val.keyname?? 东西 事情2 事情3 这可能吗 我试着只使用“index”,但它迭代了附加到对象的整个属性和原型函数列表,例如$\uuuuuuuu、isNew、errors、\u doc、$\uuuu original\u save、save、\u p
var data = {
thing: 'value1',
thing2: 'value2',
thing3: 'value3'
};
each val, index in data
li= val.keyname??
东西
事情2
事情3
这可能吗
我试着只使用“index”,但它迭代了附加到对象的整个属性和原型函数列表,例如$\uuuuuuuu、isNew、errors、\u doc、$\uuuu original\u save、save、\u pres、\u posts、toObject、toJSON、$\uuuu isNested
等
数据
来自MongoDB的find
查询的一部分
在我的用例中,我事先不知道键的名称 使用库下划线JS的反转方法。org数据必须是简单的键值对象 如果您有最复杂的对象(如模型或集合),请使用
toJSON
模式,如Backbone.model
或Backbone.collection
如果您有一个简单的对象,请像这样使用每个val,idx
:
<li>thing</li>
<li>thing2</li>
<li>thing3</li>
完整代码:几乎。。但这假设值是唯一的,而它们肯定不是(在我的用例中)。虽然它在我给出的示例中会起作用。非常接近,但这与索引的作用相同,它也会迭代所有原型属性;正如OP.fine中所列,这里:
{albany:'a3',penrose:'a3',christchurch:'a4'}
,问题是在数据传递到jade后,有一堆原型值附加到该对象,并且迭代也在进行。好的,我理解。使用toJSON
模式,如Backbone.Model
和Backbone.Collection
。例子:
ul
each val, idx in data
li= idx