想念有你

文章 评论 浏览 31

想念有你 2022-05-04 13:57:52

在30-seconds-of-code看到一个这个题的变形,分享一下

let unary = fn => val => fn(val)
let parse = unary(parseInt)
console.log(['1.1', '2', '0.3'].map(parse))

这个的答案是什么呢?

我是这样理解的:

unary函数接收一个回调函数 fn ,返回一个闭包。

也就是说 parse函数等同于 let parse = val => parseInt(val)

传入 parse 函数的参数依次是(箭头函数没有 arguments所以超过形参的实参会被忽略):

  1. parse('1.1') 返回 1
  2. parse('2') 返回 2
  3. parse('0.3') 返回 0

输出 [1, 2, 0]

第 2 题:['1', '2', '3'].map(parseInt) what & why ?

更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文