jade 在迭代中获取对象键名

jade get object keyname in iteration

var data = {
  thing: 'value1',
  thing2: 'value2',
  thing3: 'value3'
};

each val, index in data
    li= val.keyname??

我想要的输出是:

<li>thing</li>
<li>thing2</li>
<li>thing3</li>

这可能吗?

我尝试只使用 'index',但它遍历了附加到对象的整个属性列表和原型函数,例如$__, isNew, errors, _doc, $__original_save, save, _pres, _posts, toObject, toJSON, $__isNested 等..

data 来自 MongoDB 的 find 查询的一部分。

在我的用例中,我事先不知道键的名称。

使用库 UnderscoreJS 的 invert 方法。 Underscorejs.org

数据必须是简单的键值对象。

如果您有最复杂的对象(如模型或集合),请使用 toJSON 模式,如 Backbone.ModelBackbone.Collection.

如果您有一个简单的对象,请像这样使用 each val, idx

ul
  each val, idx in data
    li= idx

完整代码:http://jsfiddle.net/tomi77/5rb5hspk/2/