小编Kae*_*lig的帖子

下划线:平面对象的对象数组.什么是魔术?

我正在改变这个对象数组:

[
  {
    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的文档......但是我无法理解窗帘背后的实际情况.

有人能帮助我理解这些单线表演的魔术技巧的秘密吗?

javascript underscore.js lodash

5
推荐指数
1
解决办法
1611
查看次数

标签 统计

javascript ×1

lodash ×1

underscore.js ×1