parseInt

2021-03-16  本文已影响0人  隔壁老王z

先来看一个函数

['23', '8', '10'].map(parseInt)
// 输出的结果是 [23, NaN, 2]

为什么?
我们来看看array.map函数的参数:array.map(currentValue, inddex, array)

参数.png
也就相当于给parseInt传递了三个参数:
parseInt('23', 0, array) // 第二个参数默认是0,表示十进制 23
parseInt('8', 1, array) // NaN
parseInt('10', 2, array) // 2

所以有了上面的输出
map函数会接受多个参数,这就是map函数的副作用
loadash中的fp模块(functional programming)可以解决这个问题:

const fp = require('loadash/fp')
fp.map(parseInt, ['23', '8', '10'])
// [23, 8, 10]
上一篇 下一篇

猜你喜欢

热点阅读