当前位置: 首页 > news >正文

数组新增方法:forEach(),map(),filter(),some(),every()

箭头函数:
可以不写function,如果只有一个形参也可以不要小括号,语句只有一句也可以不要花括号,但是必须去掉return
forEach和filter遇到满足条件时,遇到return也不会结束迭代。
forEach:
用法:array.forEach(function(currentValue,index,array))
currentValue:数组当前项的值
index:数组当前项的索引
arr:数组对象本身

    <script>
      arr = [1, 2, 3];
      arr.forEach(function (value, index, array) {
        console.log(value);
      });
    </script>

filter:
用法:筛选满足条件的元素并组成新数组
array.filter(function(currentValue,index,array))
currentValue:数组当前项的值
index:数组当前项的索引
arr:数组对象本身

     let newArr = arr.filter(function (value, index) {
        return value > 50;
      });
      let newArr1 = arr.filter((item) => item > 50);

some:
用法:查找是否含有复合条件的数组元素,存在true,不存在则false.array.filter(function(currentValue,index,array))
currentValue:数组当前项的值
index:数组当前项的索引
arr:数组对象本身

//some的返回值是true和false,true则结束执行。
//这里使用的如果value>50为真,则不执行,属于简写。
      let flag = arr.some(function (value) {
        return value > 50;
      });
      let flag1 = arr.some(item => item > 50);

map() 注意与Map对象区分
方法创建一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成

 const map1 = arr.map((x) => x * 2);
      console.log(map1);
      //(5) [2, 4, 6, 110, 132]

every():
方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。

      const every1 = arr.every((item) => item % 2 == 0);
      console.log(every1);
      //也可以把回调函数卸载方法体的外面。
      const result = (item) => item < 40;
      const array1 = [1, 30, 39, 29, 10, 13];
      console.log(array1.every(result));

相关文章:

  • 卷妹的成长日记之javaweb day14
  • java架构知识点-大数据与高并发(学习笔记)
  • MATLAB下载_MATLAB中文版下载
  • 手把手怎么把照片修复高清,p图小白也能轻松上手
  • SSM+服装管理系统 毕业设计-附源码080948
  • 网课搜题公众号题库接口使用详情方法
  • 061_末晨曦Vue技术_过渡 动画之自定义过渡的类名
  • 渗透测试-不死马的创建和查杀
  • 肾囊肿有什么症状呢?
  • MATLAB | 全网唯一 ,MATLAB绘制阴影柱状图(填充斜线)
  • Docker之docker设置系统的环境变量(第十五篇)
  • 分享查题公众号制作过程
  • webpack原理 - 5分钟了解ModuleGraph
  • 几分钟来了解下什么是嵌入式开发?
  • 基于SpringBoot的自习室预约管理系统
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 《深入 React 技术栈》
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • Android系统模拟器绘制实现概述
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • Flex布局到底解决了什么问题
  • JS+CSS实现数字滚动
  • laravel with 查询列表限制条数
  • Nacos系列:Nacos的Java SDK使用
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Promise面试题,控制异步流程
  • Python进阶细节
  • ubuntu 下nginx安装 并支持https协议
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 工程优化暨babel升级小记
  • 观察者模式实现非直接耦合
  • 前端之React实战:创建跨平台的项目架构
  • 仓管云——企业云erp功能有哪些?
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​Python 3 新特性:类型注解
  • #Linux(make工具和makefile文件以及makefile语法)
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (1) caustics\
  • (145)光线追踪距离场柔和阴影
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (篇九)MySQL常用内置函数
  • (转) Face-Resources
  • . Flume面试题
  • .NET中两种OCR方式对比
  • .net专家(张羿专栏)
  • ??myeclipse+tomcat
  • @html.ActionLink的几种参数格式
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码