ES6 和 lodash 中的 map 方法有什么区别?

Fun*_*nja 5 javascript ecmascript-6 lodash

一个可以比另一个做得更多吗?我应该坚持使用 lodash 还是只使用 ES6 的 map 方法?

eri*_*las 10

除了@georg_.map关于使用 lodash作为 的简写形式的可能性的评论之外_.property,lodash 映射可用于任何可迭代,而 ES6 映射只能用于数组。


eug*_*ene 7

lodash可以处理未定义的

let a = undefined

_.map(a, (e) => {console.log("hello")})
// vs    
a.map((e) => {console.log('this is an error')}). //undefined error 
Run Code Online (Sandbox Code Playgroud)


mat*_*nso 5

它们都符合 ECMA-262 规范,因此它们是相同的。然而,为了可移植性(也许是性能/可读性),我个人更喜欢内置的 ES6 映射方法。

  • @matanso 您可以使用 lodash 速记,例如,如果您有一组看起来像 `{name: "bob", age: 42}` 的人,您可以执行 `_.map(people, 'name')`,即`_.property('name')` 的简写,你将只剩下人名。 (5认同)
  • 不,它们并不相同。`_.map` 可以做的远远超过库存的 `map`。 (2认同)