我有一个对象数组。在循环过程中,我为每个条目添加了不同的属性。
我的问题 - 如何确保每个条目都包含每个条目的所有属性?
让我们考虑一下:
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}]
答案 0 :(得分:6)
没有图书馆,优雅的单行有点困难。但是如果你有某种extend
函数,那么它可能是:
myArray.map(function(v) { return extend.apply(null, [{}].concat(myArray)); });
extend
函数需要组合多个对象(作为单独的参数传递)。这样的函数在jQuery中可用作jQuery.extend
,而underscore.js也有一个函数。