转换/展平对象数组

Chi*_*hin 3 javascript

我有以下需要转换为一个对象的对象数组.是否有捷径可寻?我在页面上有下划线.也许它可以帮助.

[{John:{name:"John", age : 59}},{Dave:{name:"Dave", age:62}}]
Run Code Online (Sandbox Code Playgroud)

{John:{name:"John", age : 59}, Dave:{name:"Dave", age:62}}
Run Code Online (Sandbox Code Playgroud)

我想我可以对数组进行递归并制作最终对象,但我希望有更简单/更好的方法.任何指针赞赏,因为我是一个JavaScript的菜鸟.

Ate*_*ral 9

既然你提到你有Underscore.js可用,你真正需要的就是使用这个extend函数:

var arr = [{John:{name:"John", age : 59}},{Dave:{name:"Dave", age:62}}];

var flattened = _.extend.apply(_, arr);
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/Yjmbk/