Javascript 向数组的每个项添加额外属性
我有一个名为Javascript 向数组的每个项添加额外属性,javascript,underscore.js,Javascript,Underscore.js,我有一个名为documents的项目数组。每个项目都有相同的属性束。我想为每个名为serviceShortCode的项添加一个附加属性。我编写了以下代码来实现这一点 documents = _.map(documents, function (doc) { return _.extend({ serviceShortCode: View.getServiceName(doc.publi
documents
的项目数组。每个项目都有相同的属性束。我想为每个名为serviceShortCode
的项添加一个附加属性。我编写了以下代码来实现这一点
documents = _.map(documents, function (doc) {
return _.extend({
serviceShortCode: View.getServiceName(doc.publishedIn)
});
});
一旦这段代码执行完毕,我得到一个只包含serviceShortCode
的对象数组,所有其他属性都消失了
为什么会这样?您似乎缺少扩展调用中的文档 改变
return _.extend({
serviceShortCode: View.getServiceName(doc.publishedIn)
});
到
或者,或者
return _.extend({}, doc, {
serviceShortCode: View.getServiceName(doc.publishedIn)
});
以确保原始对象保持不变
return _.extend({}, doc, {
serviceShortCode: View.getServiceName(doc.publishedIn)
});