前言

之前对数组的循环来说,我拿到代码就使用forEach循环,主要原因是我对数组的其他方法不是很了解,以及觉得forEach已经可以做到想要的效果,没必要在去使用其他方法,这都是对使用场景不了解导致的,为了让自己的代码不再是千篇一律的forEach。特地总结一下这几个方法。

函数1:some

函数形式:arr.some((value, index, arr) => {})

参数说明:第一个是每一个选项的值,第二个是索引,第三个是数组本身

使用场景:表示数组中是否有一项满足条件的,如果有就返回true,终止循环,如果没有,一直循环到结束,返回false,如果需要判断只要有一项满足就可以使用改方法

之前判断是否重名用的都是forEach这次可以换成some方式解决问题

函数2:every

函数形式:arr.every((value, index, arr) => {})

参数说明:第一个是每一个选项的值,第二个是索引,第三个是数组本身

使用场景:表示数组中是否每一项满足条件的,如果是就返回true,如果有一项不满足则返回false,终止循环

重名判断用every来解决

函数3:filter

函数形式:arr.filter((value, index, arr) => {})

参数说明:第一个是每一个选项的值,第二个是索引,第三个是数组本身

使用场景:表示来获取符合条件的每一个选项,并返回。如果没找到就返回一个空数组,如果一个数组是根据另一个数组按照某一个条件得到的可以用该方法

函数4:find

函数形式:arr.find((value, index, arr) => {})

参数说明:第一个是每一个选项的值,第二个是索引,第三个是数组本身

使用场景:表示来查找符合条件的任意一个,找到就返回改项,没有就返回undefined, 此方法和some方法差不多,但是此方法可以把找到的选项信息打印出来.

函数5:map

函数形式:arr.map((value, index, arr) => {})

参数说明:第一个是每一个选项的值,第二个是索引,第三个是数组本身

使用场景:map就是用来对数组进行一个处理,返回一个新的数组,在需要返回一个新的数组中使用

函数6:reduce

函数形式:arr.reduce((pre,value, index, arr) => {},initArr);

参数说明:

情况1(没初始化值情况下)

第一次时候pre表示第一个选项,value表示第二个选项,index表示当前项的下标(此时当前项目是第二项),arr表示原数组

第二次时候pre表示的是return出来的值,value表示下一个选项,一次类推

情况2(有初始化值的情况下)

第一次时候pre表示初始化的值,value表示第一个选项,index表示第一个选项索引,arr表示数组本身

第二次时候pre表示返回的值,value表示第二个值,依次类推

使用场景:需要累加数组值,计数的时候可使用

js中every用法_js数组中的方法 some, every, filter, find,map, reduce讲解及使用场景相关推荐

  1. js reduce实现中间件_js数组高阶方法reduce经典用法代码分享

    以下是个人在工作中收藏总结的一些关于javascript数组方法reduce的相关代码片段,后续遇到其他使用这个函数的场景,将会陆续添加,这里作为备忘. javascript数组那么多方法,为什么我要 ...

  2. JS根据指定值删除数组中的元素

    解决问题: 1 .JS判断元素是否在数组内 2. JS根据指定值删除数组中的元素 要点:相当于jquery 的 $.inArray() 这个方法 原声js 如果想删除数组,有一个函数   splice ...

  3. java 申请不定长度数组_java中申请不定长度数组ArrayList的方法

    如下所示: import java.util.ArrayList; //java中申请不定长度数组 public class Test01 { public static void main(Stri ...

  4. C++ 读取txt文件中数据并存入数组中

    #include<iostream> #include<iomanip> #include<fstream> using namespace std; int ma ...

  5. java数组的长度不确定怎么办_java中申请不定长度数组ArrayList的方法

    如下所示: import java.util.arraylist; //java中申请不定长度数组 public class test01 { public static void main(stri ...

  6. js模板引擎art template数组渲染的方法

    转载:js模板引擎art template数组渲染的方法 JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注,模板引擎种类也是五花八门,我就说几个安全性高.错误处理调 ...

  7. js中every用法_JS中every()和some()的用法

    every()与some()方法都是JS中数组的迭代方法. every()是对数组中每一项运行给定函数,如果该函数对每一项返回true,则返回true. some()是对数组中每一项运行给定函数,如果 ...

  8. 数据结构与算法--查找与排序另类用法-旋转数组中的最小数字

    查找与排序 查找 查找与排序都在程序设计中常被用到的算法.查找相对而言简单,一般都是顺序查找,二分查找,哈希表查找,和二叉排序树查找.其中二分查找是我必须熟悉的一种. 哈希表和二叉排序树主要点在于他的 ...

  9. cmake字符串转数组_JS 数组中你或许不知道的操作

    JS 中的 Array ecma-262 中的定义:Array 对象是一种特殊对象,它会对数组索引属性键进行特殊处理. 每个 Array 对象都有一个不可配置的 length 属性,其最大值是 2³² ...

最新文章

  1. 精心整理,机器学习的3大学习资源
  2. linux创建多个子进程,[Linux进程]使用fork函数创建多个子进程
  3. sublime配置攻略
  4. BERT-of-Theseus:基于模块替换的模型压缩方法
  5. tar 命令详解 / xz 命令
  6. 【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件...
  7. VS2010相同变量高亮显示设置
  8. python处理excel表格-如何用python处理excel表格
  9. “语音识别”服务人类
  10. python 长度queue_Python基础知识梳理
  11. Pyhon 获取文件夹的大小统计
  12. USB摄像头CMOS图像传感器PCB原理图
  13. python实现键盘自动输入_如何使用Python实现自动化点击鼠标和操作键盘?
  14. 向你推荐一个五星级云原生DevOps论坛
  15. 2063:【例1.4】牛吃牧草
  16. 使用 Kprobes 调试内核
  17. 关于光速不变与相对论的理解
  18. Phobos Runtime Library
  19. 如何在达梦数据库安装ODBC
  20. 微信会员卡html修改样式模板,微信小程序 JS动态修改样式的实现代码

热门文章

  1. Angular Reactive Form 的一个具体使用例子
  2. css 元素 property value计算过程的学习笔记
  3. 在SAP UI5应用里使用jQuery.ajax读取数据并显示在页面上
  4. SAP Spartacus入口Component - StorefrontComponent
  5. 在SAP分析云里根据业务数据绘制词云(Word Cloud)
  6. Jerry带您了解Restful ABAP Programming模型系列之二:Action和Validation的实现
  7. Tomcat 是怎么处理js file access request的
  8. Extension project - Component.js of standard application could not be loaded
  9. PCM - partner channel management 的数据库表介绍
  10. 创建一个Business partner reference extension field