高阶函数||编程范式: 命令式编程/声明式编程 || 编程范式: 面向对象编程(第一公民:对象)/函数式编程(第一公民:函数)
编程范式: 命令式编程/声明式编程
编程范式: 面向对象编程(第一公民:对象)/函数式编程(第一公民:函数)
高阶函数
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);
高阶函数||编程范式: 命令式编程/声明式编程 || 编程范式: 面向对象编程(第一公民:对象)/函数式编程(第一公民:函数)相关推荐
- 声明式和命令式编程_命令式与声明式编程
声明式和命令式编程 At this point you've undoubtedly heard about imperative programming vs declarative program ...
- python 函数对象(函数式编程 lambda、map、filter、reduce)、闭包(closure)
1.函数对象 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 秉承着一切皆对象的理念,我们再次回头来看函数(function).函 ...
- mooc程序设计与算法(三)C++面向对象程序设计 类和对象提高 编程作业 5:魔兽世界之一:备战
5:魔兽世界之一:备战 这道题是典型的,看了题目不想做题系列... 题目太长,看了,看不懂....后来,上网找了某博客中据说是老师的代码,研究了一下,觉得真的,c++面向对象编程还是很深奥的....下 ...
- 面向对象的接口思想与函数式编程
1,接口的基本定义格式: public interface 接口名称{ //组成部分:可以包含有抽象,静态,默认,私有方法,常量. } 2.抽象方法 定义:public abstract 返回值 方 ...
- Kotlin 编程核心基石—高阶函数
前言 1. 高阶函数有多重要? 高阶函数,在 Kotlin 里有着举足轻重的地位.它是 Kotlin 函数式编程的基石,它是各种框架的关键元素,比如:协程,Jetpack Compose,Gradle ...
- 如何编写高质量的 JS 函数(3) --函数式编程[理论篇]
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/EWSqZuujHIRyx8Eb2SSidQ 作者:杨昆 [编写高质量函数系列]中, < ...
- 【基于JS 函数式编程 -1】什么是函数式编程 | 纯函数 | 命令式与声明式 | 优点
⭐️ 本文首发自 前端修罗场(点击即可加入),一个专注 Web 技术.答疑解惑.面试辅导.职业发展的社区. 相关文章 [函数式编程]基于JS 进行函数式编程(一)引入 | 什么是函数式编程 | 函数式 ...
- c++ 一个函数包括多个返回值判断_轻松玩转函数式编程
最近和一些同学讨论了函数式编程,很多同学总觉得听起来很高大上,但用起来却无从下手.于是我抽时间捋了捋,将平时工作中用到的函数式编程案例和思想整理了出来,相信阅读本文后,大家都能快速上手函数式编程. 函 ...
- 函数式编程和面向对象式编程_比较函数式编程,命令式编程和面向对象的编程
函数式编程和面向对象式编程 As Oracle Corporation has introduced some Functional constructs in Java SE 8, now-a-da ...
最新文章
- 函数式编程语言时代已经来临
- 现在很多技术知识点缺乏来龙去脉的介绍
- Maven 常见问题
- 艾地计算机软件,多媒体技术原理与应用.pdf
- K-Means算法Demo
- Jconsole查看Weblogic自定义MBean
- MiniDao持久层 Vs Mybatis
- js系列教程8-事件全解
- 深度学习自学(二十九):上下文感知和对规模不敏感的动作重复计数
- 【渝粤教育】电大中专消费者行为学 (2)作业 题库
- 基于Android的简单购物,基于Android的购物系统设计与实现
- java中wint是什么意思,Java线程的同步演示代码,java线程演示,package Wint
- 【量化分析】债券投资分析
- 斯坦福大学公开课IOS 7学习笔记 (1)
- 女博士实名举报长江学者陈小武性骚扰女学生
- C++核心准则R.3: 原始指针(T*)不应拥有所有权
- 300多张精美京剧脸谱,收藏~~
- 面试题和问题总结-面试题2
- Linux学习 十二单元
- python爬取豆瓣代码_python爬取豆瓣