廖雪峰博客高阶函数的答案:

selfHigherOrderFn: function () {// demo1 求和function sum (fn, ...num1) {const nums = Array.from(arguments).slice(1);let total = 0;nums.forEach((item, index, arr) => {console.log('forEach item: ', item);total += fn(item);});console.log('argument: ', arguments, 'nums: ', nums);return total;}const result = sum(Math.abs, -2, 1, 3, 4);console.log('result: ', result);// demo2 任意一字符串转化为首字母大写function capitalize (str) {str = str.toString().toLowerCase();return str[0].toUpperCase() + str.substring(1);}function stringFormat(fn, str) {return fn(str);}const str = stringFormat(capitalize, 'stEsdsdB');console.log('str: ', str);},arrayHigherOrderFn: function () {// Array.prototype.mapconst arr = [1, 3, 23, 5, 8, 10];let resultArr = arr.map((item, index, arr) => {return item * item;});console.log('Array.prototype.map resultArr: ', resultArr);// Array.prototype.reducelet sum = arr.reduce((total, item, index, arr) => {return total + item;});let sum2 = arr.reduce((total, item, index, arr) => {return total + item;}, 2);console.log('Array.prototype.reduce sum: ', sum, ', sum2:', sum2);const _self = this;function product (arr) {return _self.TB.isArray(arr) ? arr.reduce((total, item, index, arr) => {return total * item;}, 1) : 0;}let _product = product([2, 4, 3, 5]);console.log('the product of arr: ', _product);// 不要使用JavaScript内置的parseInt()函数,利用map和reduce操作实现一个string2int()函数function string2int(str) {const arr = str.split('');return arr.map((item, index, arr) => {return item - 0;}).reduce((total, item, index, arr) => {return total * 10 + item;});}let result = string2int('323422');console.log('string2int result: ', result, ', result type: ', typeof(result));// 请把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']。function capitalize (str) {return str.substring(0, 1).toUpperCase() + str.substring(1).toLowerCase();}function formatStringArray (arr) {return arr.map((item, index, arr) => {return capitalize(item);});}let formatResult = formatStringArray(['adam', 'LISA', 'barT']);console.log('formatStringArray result: ', formatResult);/**小明希望利用map()把字符串变成整数,他写的代码很简洁*var arr = ['1', '2', '3'];*var r;*r = arr.map(parseInt);*结果竟然是1, NaN, NaN,小明百思不得其解,请帮他找到原因并修正代码。**分析:*首先map函数的形式arr.map((item, index, arr) => {}, thisArg);*item表示数组的每个元素,index表示数组的下标,arr表示数组本身,thisArg表示this的指向*现在再看parseInt函数parseInt(str, raIndex)*str表示待转换数字的字符串,raIndex表示转换为几进制(2-36之间的是2的指数的数字)*所以上面的函数的遍历过程是:*parseInt('1', 0); //0表示没有,直接转换为默认的10进制正数:1*parseInt('2', 1); //没有1进制: NaN*parseInt('3', 2); //二进制,但是二进制中没有3:,只有1和0:NaN**/

廖雪峰博客高阶函数的答案相关推荐

  1. 廖雪峰讲python高阶函数求导公式_一文读懂Python 高阶函数

    高阶函数 将函数作为参数传入,这样的函数称为高阶函数.函数式编程就是指这种高度抽象的编程范式. 变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函 ...

  2. 廖雪峰讲python高阶函数求导公式_高阶函数 - 廖雪峰 Python 2.7 中文教程

    高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下 ...

  3. 廖雪峰讲python高阶函数求导公式_廖雪峰的学习笔记(三)高阶函数

    1.所谓的"高阶函数":把函数对象作为参数的函数. 2.示例: map()函数: 我们先看map.map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数 ...

  4. 廖雪峰讲python高阶函数求导_高阶函数 - 廖雪峰的Python2.7教程 - 广州尚鹏

    高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下 ...

  5. 廖雪峰讲python高阶函数-高阶函数

    高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下 ...

  6. 廖雪峰讲python高阶函数求导_高阶函数 · 廖雪峰的Python3.x教程 · 看云

    [TOC] ### 引入 高阶函数英文叫`Higher-order function`.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. ### 变量可以指向函数 以Python内置的求绝对值 ...

  7. 廖雪峰讲python高阶函数求导_廖雪峰python课程笔记

    1. 可以通过 print(os.sys.path) 来查看python可导入的包的路径情况,这会打印出一个list.当我们import某一个包时,python会根据这个list,从前向后搜寻相匹配的 ...

  8. python做meta分析_python的MetaClass的代码分析。基于廖雪峰博客代码

    1 #一张表一个类,表内每一行就是一个实例 2 ''' 3 一个单独的元类使用的程序分析.4 ''' 5 6 classField(object):7 def __init__(self, name, ...

  9. python 3 廖雪峰博客笔记(三) 命令行模式与交互模式

    python 的代码一般保存为 .py结尾的文本文件格式 比如 add.py 里写下如下内容 100 + 200 执行 add.py有两种方式: 1. 命令行方式:将python代码写入脚本中执行 p ...

最新文章

  1. 难道这又是个未解之谜?--- 关于DLL中使用ADODATASET出错的问题
  2. python典型安装_python包的多种安装方式(内网)
  3. jsp 连接access数据库
  4. 纠缠不清的C语言位域(位段)详解
  5. 电子表格转换成数据库_创建数据库,将电子表格转换为关系数据库,第1部分...
  6. js 回调函数 精析
  7. Linux 性能监测:介绍
  8. 不要版面费的期刊名称
  9. java 线程类注入失败_如何在多线程中注入bean?!
  10. php如何取屏幕大小,JavaScript_JS获取当前网页大小以及屏幕分辨率等,效果如下:代码如下:- phpStudy...
  11. 计算机组成原理图ei,(完整版)计算机组成原理试题库(含答案)-
  12. 即时通讯-Netty篇
  13. 牛逼!这届WWDC依旧展现了那个让你无法复制的苹果!
  14. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案之CDN内容分发网络
  15. JS金额“分”转换成“元”,金额上万时,以万为单位
  16. 好安卓博客收集【2022年】
  17. Windows上架设Turn服务器
  18. 关于OSPF 5类LSA中Forwarding Address
  19. 浅谈前端SPA(单页面应用)
  20. Linux:安装npm

热门文章

  1. 转载MTK通话背景音
  2. 云计算设计模式翻译(四):Competing Consumers Pattern(消费者竞争模式)
  3. Oracle数据库解决方案集锦
  4. 【安全资讯】历史上的五大数据泄露事件,你知道几个?
  5. 如何用css适配iphoneX底部横条?!?
  6. 用户注册登录退出功能的实现——淘淘商城(二十五)
  7. 2015年10月22日CSS学习笔记
  8. 【个人总结】实习记录
  9. 数据结构(C语言) 预定义常量和类别
  10. 输出1~100之间所有既可以被3整除又可以被7整除的数