我有一个对象数组。在循环期间,我将不同的属性附加到每个条目。
我的问题 - 如何确保每个条目都具有每个条目的所有属性?
让我们考虑一下:
var myArray = [{A: 1}, {B: 2}, {C: 3}];
现在我想运行一些优雅的单行代码来将此数组转换为:
[{A: 1, B:2, C: 3}, {A: 1, B:2, C: 3}, {A: 1, B:2, C: 3}]
最佳答案
如果没有库,优雅的单行有点困难。但如果你有某种extend
函数,那么它可能是:
myArray.map(function(v) { return extend.apply(null, [{}].concat(myArray)); });
extend
函数需要组合多个对象(作为单独的参数传递)。这样的函数在 jQuery 中可用 jQuery.extend
,underscore.js 也有一个。
关于JavaScript 扩展数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10688569/