1、参数为回调函数,function(数组中的项目,序号,数组本身){ },至少接收一个项目(item、value)参数

① every

数组中所有内容都满足回调函数的测试,返回值才为true,否则false,遇假停止,返回false

    //value是数组中的每个元素的值,这个匿名函数会被数组循环调用var res = nums.every(function(value){//其中内容就是对值的判断条件,例如验证<50console.log(`当前判断的值是:${value}`);return value<50;});//如果匿名函数中的判断,都是真的,则最终的every的返回值就是真//有任何假的,则返回值就是假console.log(res);//判断都是偶数var res1 = nums.every(function(value,index,array){//匿名函数共有3个参数:值 值的索引 当前数组。后两个参数使用太少了console.log(`${value},${index},[${array}]`);return value%2 == 0;})

②some

数组中内容存在任意一个满足回调函数的测试的,返回值为true, 否则false,遇真停止,返回

   var teachers = [{name:"lily",age:39,married:true},{name:"tom",age:27,married:false},{name:"jack",age:22,married:true},{name:"lucy",age:36,married:false},];//判断数组中,是否存在年龄>35的人var result = teachers.some(function(item,index,arr){return item.age>35});console.log(result?"有人年龄>35":"没有年龄>35的");//判断是否有已婚的var result = teachers.some(function(item){return item.married})console.log(result?"有已婚":"没已婚");

③forEach

遍历数组, 每个数组元素都被 回调函数处理

   //数组的forEach方法:快速遍历数组var emps = [{name:"丫丫",age:36},{name:"久久",age:19},{name:"明明",age:23},]   //为每个年龄+1emps.forEach(function(item){item.age++;})//年龄翻一倍emps.forEach(function(item){item.age*=2})

④map

创建新数组,新数组由回调函数的返回值组成

   //map:创建一个新的数组,数组的值都是回调函数的返回值组成的var names = ["lily", "lucy", "john", "tom"];//回调函数:依然具备三个参数,都是可选的var new_names = names.map(function(item,index,arr){return index + item.toUpperCase()});

⑤filter

创建新数组,满足回调函数中的条件的元素, 会加入到新数组

    var emps = [{name:"牛牛",gender:"男",age:20},{name:"丫丫",gender:"女",age:25},{name:"毛毛",gender:"女",age:29},{name:"婷婷",gender:"男",age:32}];//找出所有女性,放在新数组中var girls = emps.filter(function(item){return item.gender == "女"});//找出年龄<30的var young = emps.filter(function(item){return item.age<30});

2、reduce: 合并数组中的元素的内容,形成最终的结果

参数1:回调函数:function (合并后的结果,item,index,arr){ }

参数2:合并结果的初始值

emps.reduce( function(sum,item){return sum + item.salary},0 );

   var emps = [{name:"lucy",salary:8000},{name:"mike",salary:5500},{name:"tom",salary:11000},{name:"jerry",salary:7900},];//计算所有工资的总和//forEach写法:var sum = 0;emps.forEach(function(item){sum += item.salary})//reduce 写法://参数1:回调函数:function (合并后的结果,item,index,arr){}//参数2:合并结果的初始值let result = emps.reduce(function(sum,item){return sum + item.salary},0);

JavaScript基础 - 24 (数组方法:every、some、forEach、map、filter、reduce)相关推荐

  1. Javascript常用的数组方法

    Javascript常用的数组方法 数组 定义:计算机内存中一段连续的空间: 数组的几种常用方法 1.splice:可对数组进行增.删.改的操作: 2.push:给数组的末尾添加一个或多个元素: 3. ...

  2. js数组中forEach/some/every/map/filter/reduce的区别

    2019独角兽企业重金招聘Python工程师标准>>> // js数组中forEach/some/every/map/filter/reduce的区别// 1. foreach:就是 ...

  3. 分享20个Javascript中的数组方法,收藏

    什么是数组?与其他编程语言中的数组一样,Array对象允许在一个变量名称下存储多个项的集合,并且具有用于执行常见数组操作的成员. 声明数组 我们可以用两种不同的方式声明数组. 使用新阵列 使用new ...

  4. JavaScript中的数组方法和循环

    1.基本概念 JavaScript 数组用于在单一变量中存储多个值.是一个具有相同数据类型的一个或多个值的集合 2.创建数组的三种方法 (1)使用JavaScript关键词 new 一个Array对象 ...

  5. 15+ Javascript 中的数组方法

    什么是 JS 中的数组? Array 对象与其他编程语言中的数组一样,可以将多个项目的集合存储在单个变量名下,并具有用于执行常见数组操作的成员. 声明数组 我们可以用两种不同的方式声明数组. 使用新数 ...

  6. javascript字典中添加数组_如何在JavaScript中使用数组方法:Mutator方法

    JavaScript中的数组由元素列表组成.JavaScript有许多有用的内置方法来处理数组.修改原始数组的方法称为mutator方法,返回新值或表示的方法称为accessor方法.在本教程中,我们 ...

  7. JavaScript中常用数组方法总结

    工作中发现掌握好数组和对象中所有方法,并灵活运用,绝对能大大提高你的编程效率,那还想什么呢,总结起来~ 目录 push()后增方法 pop()后删方法 shift()前删方法 unshift()前增方 ...

  8. ES5-15 数组基础、数组方法、数组排序

    创建数组 字面量 var arr = [] 构造函数 var arr = new Array() 不使用new var arr = Array() 所有数组都继承于Array.prototype,能使 ...

  9. javascript学习之数组的使用二 forEach方法

    array.forEach( function(value , index , object) {  }); value保存数组的值  index保存数组的索引 object保存数组本身 都可缺省 v ...

最新文章

  1. Oozie 配合 sqoop hive 实现数据分析输出到 mysql
  2. Windows 技巧篇 - cmd的复制和粘贴功能
  3. 2019年春季学期第四周作业
  4. MySQL 高级 - 视图 - 概述
  5. CNKI中银屑病、大肠菌群、内毒素LPS(调研手稿三)
  6. linux的文件解压命令,linux解压命令(linux解压文件命令)
  7. 结合使用 Oracle Coherence 和 Spring Batch 进行高性能数据处理
  8. ucore 地址映射的几个阶段
  9. 人生的一切问题,归根结底就是这三点:无知!恐惧!延迟!
  10. html怎么实现年月日的选择,利用select实现年月日三级联动的日期选择效果【推荐】...
  11. linux常用命令课堂总结
  12. 关于meta name=viewport content=width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalabl...
  13. pytorch 常用目标检测评价指标总结
  14. Linux Mysql8.0安装
  15. 如何写 [文献综述]
  16. ThankPHP5.0增加中英文转换(tp5语言翻译)
  17. 乒乓球捡球机器人_上海15岁初中女生,发明捡乒乓球机器人
  18. 工欲善其事必先利其器(Windows)
  19. Ubuntu 16.04 ZR300驱动安装
  20. 小陈学js while练习

热门文章

  1. 【NOIP2016提高A组集训第12场11.10】灵知的太阳信仰
  2. NestJS 7.x 折腾记: (3) 采用nestjs-pino作为Nest logger
  3. 制作mac os x lion启动盘
  4. CentOS7没有图形化界面,怎么安装图形化界面
  5. MySQL基础命令及练习题(一)
  6. keyboard speed
  7. 网站繁简切换的JS遇到的一个BUG
  8. 使用Docker搭建自己的在线密码管理器软件-Bitwarden
  9. 虚拟机设置共享文件夹不显示
  10. AdaCliP: Adaptive Clipping for Private SGD