2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 高阶函数||编程范式: 命令式编程/声明式编程 || 编程范式: 面向对象编程(第一公民

高阶函数||编程范式: 命令式编程/声明式编程 || 编程范式: 面向对象编程(第一公民

时间:2021-08-06 20:10:19

相关推荐

高阶函数||编程范式: 命令式编程/声明式编程 || 编程范式: 面向对象编程(第一公民

编程范式: 命令式编程/声明式编程

编程范式: 面向对象编程(第一公民:对象)/函数式编程(第一公民:函数)

高阶函数

filter/map/reduce

filter中的回调函数有一个要求:必须返回一个boolean值

true:当返回true时,函数内部会自动将这次回调的n加入到新的数组中

false:当返回false时,函数内部会过滤掉这次的n

reduce作用对数组中所有的内容进行汇总

const nums = [10, 20, 111, 222, 444, 40, 50]// let total = nums.filter(n => n < 100).map(n => n * 2).reduce((pre, n) => pre + n);// console.log(total);let total = nums.filter(function (n) {return n < 100}).map(function (n) {return n * 2}).reduce(function (prevValue, n) {return prevValue + n}, 0)console.log(total);// 1.filter函数的使用// // 10, 20, 40, 50// let newNums = nums.filter(function (n) {// return n < 100// })// // console.log(newNums);//// // 2.map函数的使用// // 20, 40, 80, 100// let new2Nums = newNums.map(function (n) { // 20// return n * 2// })// console.log(new2Nums);//// // 3.reduce函数的使用// // reduce作用对数组中所有的内容进行汇总// let total = new2Nums.reduce(function (preValue, n) {// return preValue + n// }, 0)// console.log(total);// 第一次: preValue 0 n 20// 第二次: preValue 20 n 40// 第二次: preValue 60 n 80// 第二次: preValue 140 n 100// 240// // 1.需求: 取出所有小于100的数字// let newNums = []// for (let n of nums) {// if (n < 100) {//newNums.push(n)// }// }//// // 2.需求:将所有小于100的数字进行转化: 全部*2// let new2Nums = []// for (let n of newNums) {// new2Nums.push(n * 2)// }//// console.log(new2Nums);////// // 3.需求:将所有new2Nums数字相加,得到最终的记过// let total = 0// for (let n of new2Nums) {// total += n// }//// console.log(total);

高阶函数||编程范式: 命令式编程/声明式编程 || 编程范式: 面向对象编程(第一公民:对象)/函数式编程(第一公民:函数)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。