我在express和node中创建了一个Json api。我已经完成了这项工作,但我无法弄清楚如何在此表达式中输出密钥名称。这是我到目前为止所拥有的......
for (var k in req.body) {
if (req.body.hasOwnProperty(k)) {
if (k != 'formId' && k != 'firstName' && k != 'lastName' && k != 'email' && k != 'phone' && k != 'company' && k != 'subject' && k != 'message') {
additionalFields.push({
k: req.body[k]
});
}
}
}
console.log(additionalFields);
输出是:
[{
k: '$5000 - $10000'
}, {
k: ['business cards', 'web design', 'graphicdesign']
}]
这几乎是正确的,但我想要键的名称而不是" k"。我是javascript的新手,在我去的时候自学,所以这对我来说将是一个很好的教训。这是我想要的结果,如果有人能帮我到那里,那就太棒了......
[{
priceRange: '$5000 - $10000'
}, {
servicesNeeded: ['business cards', 'web design', 'graphicdesign']
}]
答案 0 :(得分:3)
对于动态变量键名,您应该使用括号表示法。否则,键名称将按字面解释为k
。试试这个:
var obj = {};
obj[k] = req.body[k];
additionalFields.push(obj);