我有一组名为documents
的项目。每个项目都具有相同的属性。我想为每个名为serviceShortCode
的项添加一个附加属性。我写了以下代码来实现这个
documents = _.map(documents, function (doc) {
return _.extend({
serviceShortCode: View.getServiceName(doc.publishedIn)
});
});
一旦这段代码完成执行,我得到一个只有serviceShortCode
的对象数组,所有其他属性都消失了。
为什么会这样?
答案 0 :(得分:1)
您似乎错过了来自扩展调用的文档。
更改
return _.extend({
serviceShortCode: View.getServiceName(doc.publishedIn)
});
要
return _.extend(doc, {
serviceShortCode: View.getServiceName(doc.publishedIn)
});
或者
return _.extend({}, doc, {
serviceShortCode: View.getServiceName(doc.publishedIn)
});
确保原始对象保持不变。