是否存在一种比另一种更强大的方法?我应该坚持使用lodash还是只使用ES6的map方法?
是否存在一种比另一种更强大的方法?我应该坚持使用lodash还是只使用ES6的map方法?
除了 @georg 提到使用 lodash 的 _.map
作为 _.property
的简写的可能性之外,lodash 的 map 可以用于任何可迭代对象,而 ES6 的 map 只能用于数组。
lodash 可以处理未定义的情况
let a = undefined
_.map(a, (e) => {console.log("hello")})
// vs
a.map((e) => {console.log('this is an error')}). //undefined error
它们都符合ECMA-262规范,所以它们是相同的。然而,出于可移植性(以及可能的性能/可读性),我个人更喜欢内置的ES6 map方法。
_.map
能够做的远远超过了标准的map
函数。 - georg{name: "bob", age: 42}
,你可以使用_.map(people, 'name')
,这是_.property('name')
的简写形式,它将返回只包含人名的数组。 - VLAZ
map
函数,几乎可以完全替代浏览器原生的map
函数,对于向后兼容非常有用。除此之外...一个直接在数组上调用,另一个通过lodash调用。Lodash还可以迭代对象等一些额外的功能。 - VLAZ_.map(obj, func)
可以映射 值 并返回一个数组,但有一个单独的_.mapObject
可以生成一个对象。 - VLAZ