IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript高阶函数遍历迭代对象与数组,forEach,map,filter,reduce -> 正文阅读

[JavaScript知识库]JavaScript高阶函数遍历迭代对象与数组,forEach,map,filter,reduce

下面演示下面四个常用遍历

循环(迭代):forEach((item(值),index(下标))=>{});

过滤器:filter()

汇总:reduce()

映射:map()

现在假设我们有这三个需求

1.需求:将所有小于100的数字

2.需求:将所有小于100的数字进行转化:全部*2

3.需求:将所new2Nums数字相加,得到最终结果

直接代码详细注释

    // filter/map/reduce
    // filter中回调函数有一个要求:必须返回一个boolean值
    // true:当返回true时,函数内部会自动将这次回调的n加入到新的数组中
    // false:当返回false时,函数内部会过滤掉这次的n
    // 下面都是 函数式编程(第一公民:函数)
    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);
    
    //二、普通写法
    // 1.filter函数的使用
    // 把小于100的都筛选出来了
    // 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)
    // 第一次:preValue 0 n 20
    // 第二次:preValue 20 n 40
    // 第三次:preValue 60 n 80
    // 第四次:preValue 140 n 100
    //240
    console.log(total);

最后补充小知识点

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

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

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-21 15:16:46  更:2021-08-21 15:16:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 8:44:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码