JavaScript扩展数组

luk*_*nis 0 javascript arrays jquery underscore.js

我有一个对象数组.在循环期间,我为每个条目添加了不同的属性.

我的问题 - 如何确保每个条目都具有每个条目的所有属性?

让我们考虑一下:

var myArray = [{A: 1}, {B: 2}, {C: 3}];
Run Code Online (Sandbox Code Playgroud)

现在我想运行一些优雅的单行将这个数组转换成:

[{A: 1, B:2, C: 3}, {A: 1, B:2, C: 3}, {A: 1, B:2, C: 3}]
Run Code Online (Sandbox Code Playgroud)

pim*_*vdb 6

没有图书馆,优雅的单行有点困难.但如果你有某种extend功能,那么可能是:

myArray.map(function(v) { return extend.apply(null, [{}].concat(myArray)); });
Run Code Online (Sandbox Code Playgroud)

extend函数需要组合多个对象(作为单独的参数传递).这样的函数在jQuery中可用jQuery.extend,而underscore.js也有一个.