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)
});