文章 评论 浏览 31
在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]
在30-seconds-of-code看到一个这个题的变形,分享一下let unary = fn => val => fn(val) let parse = unary(parseInt) console.log(['1.1', '2', '0.3'].map(parse)) 这个的答案是什么呢?
在30-seconds-of-code看到一个这个题的变形,分享一下let unary = fn => val => fn(val) let parse = unary(parseInt) console.log(['1.1', '2', '0.3'].map(parse))
在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 ,返回一个闭包。
unary
fn
也就是说 parse函数等同于 let parse = val => parseInt(val)
parse
let parse = val => parseInt(val)
传入 parse 函数的参数依次是(箭头函数没有 arguments所以超过形参的实参会被忽略):
arguments
1. `parse('1.1')` 返回 `1` 2. `parse('2')` 返回 `2` 3. `parse('0.3')` 返回 `0`
输出 [1, 2, 0]
[1, 2, 0]
谢谢回答~
哈哈,这道题难住我了,对这个方面并没有研究,抱歉也提供不了什么资料,不过我会把这个课题记下来,如果想明白了或者有所进展,立刻跟题主讨论哈~
文章 0 评论 0
接受
谢谢回答~
第 2 题:['1', '2', '3'].map(parseInt) what & why ?