Js三种常用高阶函数

2023-11-08

高阶函数map()

定义和用法:
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

map() 方法按照原始数组元素顺序依次处理元素。

注意: map() 不会对空数组进行检测。

注意: map() 不会改变原始数组。

<script>
// 需求:让数组内的数字乘以2返回新数组
var numbers = [4, 9, 16, 25];
var newNumbers=numbers
.map(item => item*2)
console.log(newNumbers)  //打印结果[8,18,32,50]
</script>

高阶函数reduce()

定义和用法:
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

reduce() 可以作为一个高阶函数,用于函数的 compose。

注意: reduce() 对于空数组是不会执行回调函数的。

<script>
// 需求:求数组内所有数的和
var numbers = [4, 9, 16, 25];
var newNumbers=numbers
.reduce((total,item) => item+total)
console.log(newNumbers)  //打印结果:54
		</script>

高阶函数filter()

定义和用法:
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。

<script>
// 需求:求数组内大于9的所有数
var numbers = [4, 9, 16, 25,33,24,13];
var newNumbers=numbers
.filter(item => item > 9)
console.log(newNumbers)  //打印结果:[16,25,33,24,13]
</script>

三个高阶函数的混合应用

使用高阶函数进行函数式编程,代码非常优雅,以后可以多用高阶函数

<script>
// 需求:求数组内所有数乘以3后每个大于20的数的和
var numbers = [4, 9, 16, 25,33,24,13];
var newNumbers=numbers
.map(item=>item*3)
.filter(item=>item>20)
.reduce((pre,item) => pre+item)
console.log(newNumbers)  //打印结果:360
		</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Js三种常用高阶函数 的相关文章

  • 10.28 云计算

    课上实验实训1 获取令牌 生效环境变量 source etc keystone admin openrc sh 验证令牌 openstack role list 查看角色列表 openstack user list 查看用户列表 opens
  • Elasticsearch 基础 DSL 命令

    Elasticsearch 基础 DSL 命令 1 模拟请求 2 分词器相关 3 索引库相关 4 文档相关 5 查询相关 6 GEO 查询 7 组合查询 8 得分加权 9 排序 10 分页 11 高亮 Elasticsearch 官方文档
  • vue上传excel文件

随机推荐

  • NLP语言学基础

    不同的自然语言有不同的语法结构 因此需要对语言数据进行语法解析 才能让机器更准确地学到相应的模式 儿语言不同于图像 数据标注工作需要有一定的语言学知识 因此数据的整理也相对更困难 下面以英语为例 别的咱也看不懂 对NLP研究中常见的基本语言
  • mysql运行效率最高的是memory_MySQL数据库的性能的影响分析及其优化

    MySQL数据库的性能的影响分析及其优化 MySQL数据库的性能的影响 一 服务器的硬件的限制 二 服务器所使用的操作系统 三 服务器的所配置的参数设置不同 四 数据库存储引擎的选择 五 数据库的参数配置的不同 六 重点 数据库的结构的设计
  • Android多窗口模式(分屏模式)

    Android N 支持多窗口模式 或者叫分屏模式 即在屏幕上可以同时显示多个窗口 在手机模式下 两个应用可以并排或者上下同时显示 如图 1 所示 屏幕上半部分的窗口是系统的 CLOCK 应用 下半部分是系统设置功能 用户可以拖动两个应用之
  • Chrome浏览器崩溃“STATUS_INVALID_IMAGE_HASH”的解决方法

    原文地址 Chrome浏览器崩溃 STATUS INVALID IMAGE HASH 的解决方法 JUNE S BLOG 六月博客 今天无意间 发现Chrome浏览器多了个 由贵单位管理 的提示 出于安全的考虑 想立马把它搞掉 百度了一堆方
  • 使用TextInputLayout创建一个登陆界面(j界面很漂亮)

    http www jcodecraeer com a basictutorial 2015 0821 3338 html
  • xss、csrf、ssrf的区别

    要想搞懂这三者有什么区别 首先需要知道它们的原理 xss 原理 跨站脚本攻击 攻击分类造成危害为 存储型 gt 反射型 gt DOM型 与SQL注入差不多 SQL注入漏洞是WEB应用程序未对用户输入的参数严格的过滤 导致被攻击者恶意拼接SQ
  • React中使用SVG文件显示成图片

    SVG 没法直接渲染都img 一般引用插件 方案一 使用 create react app脚手架 创建react项目 方案二 file loader 插件 SVG文件优缺点 优点 不失真 放大缩小图像都很清晰 SVG文件是纯粹的XML 也是
  • 'mvn-v' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    当我下载安装好maven 想通过测试出现看是否配置成功的时候 出现了问题 如下 如何解决 首先我的JDK是没有问题的 就是我的java程序编译都是可以的 那么就应该是配置maven的时候出现了问题 正确的参数的配置如下 1 新建变量 我这里
  • 什么是信号和槽?纯C++中如何实现信号和槽?

    什么是信号和槽 在Qt框架中 信号和槽是一种非常灵活的机制 用于在对象之间进行通信 信号和槽可以将两个对象解耦并连接起来 从而使得一个对象发生变化时 另一个对象就能够接收到相应的通知 并执行相关的操作 例如 在编写一个GUI程序时 我们可以
  • python机器人编程——用python实现一个写字机器人

    目录 一 前言 二 整体框架 2 1 系统构成 2 2 硬件介绍 2 2 1主要组成部分 2 2 2机械结构 2 2 3驱动及控制主板 PS电机驱动原理简介 2 2 4其余部分 2 3 机器人python程序框架 2 3 1通信服务模块 2
  • 【Java编程】JavaSE基础总结(五):I/O

    JavaSE基础总结 五 关于 I O 肯定会涉及到操作系统和计算机组成原理相关的知识 I O 简而言之 就是输入输出 那么为什么会有 I O 呢 其实 I O 无时无刻都在我们的身边 比如 读取硬盘上的文件 网络文件传输 鼠标键盘输入 也
  • 七、函数与类——Qt快速入门、三点求圆心实现详解

    在编程中 会经常用到数学计算 所以C 将常用的数学计算 例如求正余弦等 封装成函数 正是我们在3 2 数学计算中学习到的 我们只需要写入简单的语句就可以执行所需要的功能 这正是函数的意义 在这一章的学习 我们会建立起模块化的思维 小的功能模
  • nfs服务器哪个版本稳定,NFS V3与各个版本间的比较

    NFS协议大家应该都知道 随着网络的不断发函 目前已经有了不少版本 今天我们主要讲解一下NFS的基础知识 以及它们版本间的一些对比 包括NFS V2 rfc1094 NFS V3 rfc1813 NFS V4 一 NFS简介 NFS Net
  • 浅析IList与List的区别

    List和IList是 net开发中经常遇到的两种类型 用法上经常会让初学者摸不到头脑 下面简要的分析一下这两种类型的区别 1 IList
  • 方法判断所输入的数是否存在数组中

    需求 定义一个方法判断数组中的某一个数是否存在 将结果返回给调用处 public static void main String args int arr 64 88 514 74 63 12 84 Scanner scanner new
  • Vue 做新闻展示页

    需求 1 做一个新闻展示页 2 新闻分类可以自定义 3 每类新闻的内容 样式不一样 4 上拉加载新的数据 5 点击进入详情页 再返回时 定位到原来的位置 图片展示 采用的技术 轮播图使用 swiper zepto js vue js vue
  • Linux下遍历指定目录的C++实现

    之前在 https blog csdn net fengbingchun article details 51474728 给出了在Windows遍历指定文件夹的C 实现 这里给出在Linux下遍历目录的实现 Windows和Linux下的
  • 机器视觉毕业设计 python车牌识别系统 - opencv 深度学习 机器学习

    1 前言 基于python 机器视觉 的车牌识别系统 学长这里给一个题目综合评分 每项满分5分 难度系数 3分 工作量 3分 创新点 2分 1 课题背景 车牌识别其实是个经典的机器视觉任务了 通过图像处理技术检测 定位 识别车牌上的字符 实
  • 【测试人】最全测试策略总结,这一篇足足够用了......

    目录 导读 前言 一 界面测试 二 控件测试 三 文档测试 四 兼容性测试 五 易用性测试 六 安装测试 七 总结 前言 测试策略 通俗来讲就是6个字 测什么 和 怎么测 具体来讲 就是答好和产品测试相关的六大问题 测试的对象和范围是什么
  • Js三种常用高阶函数

    高阶函数map 定义和用法 map 方法返回一个新数组 数组中的元素为原始数组元素调用函数处理后的值 map 方法按照原始数组元素顺序依次处理元素 注意 map 不会对空数组进行检测 注意 map 不会改变原始数组 高阶函数reduce 定