我正在改变这个对象数组:
[
{
first: {
blah: 1,
baz: 2
}
},
{
second: {
foo: 1,
bar: 2
}
}
]
Run Code Online (Sandbox Code Playgroud)
对于这个更简单,扁平的物体:
{
first: {
blah: 1,
baz: 2
},
second: {
foo: 1,
bar: 2
}
}
Run Code Online (Sandbox Code Playgroud)
我发现使用Underscore/LoDash执行此操作的两种最简单的方法是:
// Using reduce and extend
_.reduce(myArray, _.extend)
// Using assign and apply
_.assign.apply(_, myArray);
Run Code Online (Sandbox Code Playgroud)
完整的代码记录在JSBin中:http://jsbin.com/kovuhu/1/edit?js,console
我已经阅读了很多关于apply/bind/call/assign/reduce/extend的文档......但是我无法理解窗帘背后的实际情况.
有人能帮助我理解这些单线表演的魔术技巧的秘密吗?