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

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



高阶函数

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);

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

  1. 声明式和命令式编程_命令式与声明式编程

    声明式和命令式编程 At this point you've undoubtedly heard about imperative programming vs declarative program ...

  2. python 函数对象(函数式编程 lambda、map、filter、reduce)、闭包(closure)

    1.函数对象 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 秉承着一切皆对象的理念,我们再次回头来看函数(function).函 ...

  3. mooc程序设计与算法(三)C++面向对象程序设计 类和对象提高 编程作业 5:魔兽世界之一:备战

    5:魔兽世界之一:备战 这道题是典型的,看了题目不想做题系列... 题目太长,看了,看不懂....后来,上网找了某博客中据说是老师的代码,研究了一下,觉得真的,c++面向对象编程还是很深奥的....下 ...

  4. 面向对象的接口思想与函数式编程

    1,接口的基本定义格式: public interface 接口名称{ //组成部分:可以包含有抽象,静态,默认,私有方法,常量. } 2.抽象方法 定义:public abstract  返回值 方 ...

  5. Kotlin 编程核心基石—高阶函数

    前言 1. 高阶函数有多重要? 高阶函数,在 Kotlin 里有着举足轻重的地位.它是 Kotlin 函数式编程的基石,它是各种框架的关键元素,比如:协程,Jetpack Compose,Gradle ...

  6. 如何编写高质量的 JS 函数(3) --函数式编程[理论篇]

    本文首发于 vivo互联网技术 微信公众号  链接:https://mp.weixin.qq.com/s/EWSqZuujHIRyx8Eb2SSidQ 作者:杨昆 [编写高质量函数系列]中, < ...

  7. 【基于JS 函数式编程 -1】什么是函数式编程 | 纯函数 | 命令式与声明式 | 优点

    ⭐️ 本文首发自 前端修罗场(点击即可加入),一个专注 Web 技术.答疑解惑.面试辅导.职业发展的社区. 相关文章 [函数式编程]基于JS 进行函数式编程(一)引入 | 什么是函数式编程 | 函数式 ...

  8. c++ 一个函数包括多个返回值判断_轻松玩转函数式编程

    最近和一些同学讨论了函数式编程,很多同学总觉得听起来很高大上,但用起来却无从下手.于是我抽时间捋了捋,将平时工作中用到的函数式编程案例和思想整理了出来,相信阅读本文后,大家都能快速上手函数式编程. 函 ...

  9. 函数式编程和面向对象式编程_比较函数式编程,命令式编程和面向对象的编程

    函数式编程和面向对象式编程 As Oracle Corporation has introduced some Functional constructs in Java SE 8, now-a-da ...

最新文章

  1. 函数式编程语言时代已经来临
  2. 现在很多技术知识点缺乏来龙去脉的介绍
  3. Maven 常见问题
  4. 艾地计算机软件,多媒体技术原理与应用.pdf
  5. K-Means算法Demo
  6. Jconsole查看Weblogic自定义MBean
  7. MiniDao持久层 Vs Mybatis
  8. js系列教程8-事件全解
  9. 深度学习自学(二十九):上下文感知和对规模不敏感的动作重复计数
  10. 【渝粤教育】电大中专消费者行为学 (2)作业 题库
  11. 基于Android的简单购物,基于Android的购物系统设计与实现
  12. java中wint是什么意思,Java线程的同步演示代码,java线程演示,package Wint
  13. 【量化分析】债券投资分析
  14. 斯坦福大学公开课IOS 7学习笔记 (1)
  15. 女博士实名举报长江学者陈小武性骚扰女学生
  16. C++核心准则R.3: 原始指针(T*)不应拥有所有权
  17. 300多张精美京剧脸谱,收藏~~
  18. 面试题和问题总结-面试题2
  19. Linux学习 十二单元
  20. python爬取豆瓣代码_python爬取豆瓣

热门文章

  1. 通讯框架 t-io 学习——websocket 部分源码解析
  2. java selenium后报错Element not found in the cache元素定位要重新赋值之前的定义
  3. 【操作系统】实验二 作业调度模拟程序
  4. 内置对象—request
  5. mongoDB初识一二三
  6. eclipse 配置打开工作空间
  7. NineImageForCircleFriends朋友圈九宫格
  8. react draft api 简介
  9. 游戏盾正式发布:撬动DDoS攻防的天平
  10. The Road to Ryu: Hi Ryu