es6里面,关于arr的遍历以及查找,新增了很多的方法,对于不同的应用场景,运用合适的方法,可以达到事半功倍的效果;

一, arr.find();用于查找到符合条件的第一个成员,如果没有查找到的话,则返回undefined;

var arr = [1,2,3,-4,-2,9];
arr.find(item => item < 0) ; ---- -4
arr.find(item => item > 10); -----undefined

二, arr.findIndex();用于查找符合某个条件的第一个成员的下标,如果没有查找到的话,则返回-1,功能和indexOf类似;

var arr = [1,2,7,5,3];
arr.findIndex(item => item >4); ----2
arr.findIndex(item => item < 0); ----- -1

三,arr.includes(); 表示数组是否包含给定的值,返回值为布尔值,但是后面不能接函数

var arr = [1,2,3,4,5];
arr.includes(2) ---- true
arr.includes(10) ---- false

四,arr.some();数组中的元素有一个值符合条件,就会返回true,否则的话则返回false

var arr = [1,2,3,4,5];
arr.some(item => item < 3); ---- true
arr.some(item => item > 6); -----false

(注:arr.some和arr.inclues的方法类似,返回的都是布尔值,判断数组的项是否符合条件;但是二者还是有细微的区别,includes一般用于表示具体的值,some后面可以接函数)

五,arr.every();用于检测数组中的所有元素是否符合条件,如果有一个不满足就返回false,当所有都满足的时候则返回true

var arr = [1,2,3,4,5,6];
arr.every(item => item > 3) ---- false
arr.every(item => item < 7) -----true

六,arr.filter();返回满足条件的新数组;

var arr = [1,2,3,4,5];
arr.filter(item => item > 2); ---- [3,4,5]

七, arr.map(); 可以用于数组的循环,返回一个操作一些列条件的新数组,并且必须要有return返回值

var arr = [{name: 'js', age: 18}, {name: 'web', age: 20}, {name: 'css', age: 30}];
arr.map(item => item.name); ------ ['js', 'web', 'css'];

es6里面的arr方法的更多相关文章

  1. Android Service生命周期 Service里面的onStartCommand()方法详解

    在Demo上,Start一个Service之后,执行顺序:onCreate - > onStartCommand 然后关闭应用,会重新执行上面两步. 但是把代码拷贝到游戏工程发现,关闭游戏后,只 ...

  2. java 里面的 native 方法

    第一篇: 今天花了两个小时把一份关于什么是Native Method的英文文章好好了读了一遍,以下是我依据原文的理解. 一. 什么是Native Method   简单地讲,一个Native Meth ...

  3. SimpleDateFomat里面的parse方法的使用

    parse方法用于将字符串类型的日期/时间解析为Date类型.语法 public Date parse(参数) 要加上这句 throws ParseException或者:try{}catch(){} ...

  4. map里面的set方法

    let a=[1,2,3,4,1,2,3,4,1,4];let b= new Set(a);console.log(b) 还有add方法介绍下: let a=new Set();let b=[1,1, ...

  5. 使用unittest里面的discover()方法组织测试用例

    import osimport unittest directory = os.getcwd()# 测试用例的目录organize = unittest.defaultTestLoader.disco ...

  6. java.lang.String里面的trim()方法——删除首尾空格

    结果如图 package com.softeasy.test1; public class String_trim { public static void main(String[] args) { ...

  7. GAILS里面的SAVE方法

    用途 保存一个domain类的实例到数据库,需要的话会级联保存所有的子实例. 举例 def b = new Book(title:"The Shining") b.save() 描 ...

  8. datagrid 里面的formatter方法

    A.{field:'station_staus',title:'工位状态',width:250,align:'center',formatter: function(value,row,index){ ...

  9. jquery里面的$.each()方法

    $.each可以迭代jquery对象和数组 $(selector).each()专注于jquery对象的遍历

随机推荐

  1. python修炼第七天

    第七天面向对象进阶,面向对象编程理解还是有些难度的,但是我觉得如果弄明白了,要比函数编程过程编程省事多了.继续努力! 1.面向对象补充: 封装 广义上的封装:把变量和函数都放在类中狭义上的封装:把一些 ...

  2. python修炼第四天

    今天换了师傅.江湖人称景女神^o^. 女师傅讲的比较细,原理的比较多.初学者来说有些难.但是基本功是必须要打牢的.努力! 迭代器 迭代器,迭代的工具1 什么是迭代,指的是一个重复的过程,每一次重复称为 ...

  3. [BZOJ1596]电话网络

    Problem 给你一棵树,可以在每个点上选择造塔或不造,每座塔可以覆盖这个节点和相邻节点,问覆盖整棵树的最小塔数. Solution 看到这道题的第一眼,我就觉得是一题贪心题,但看见出题的时候分类在 ...

  4. 《浅析:java不支持多继承的原因》

    很久以前,博主的一个好朋友给我考了我一个问题,为什么Java不支持多继承,如果多继承会有什么错误.这个问题困扰了我很久,我从单继承方面去推导过,又从多态的层面去思考过,但都无法解释为什么Java不支持 ...

  5. Cowboy http服务器 websocket

    一.基础介绍 cowboy是一个小巧.快速.模块化的http服务器,采用Erlang开发.其中良好的clean module使得我们可以扩展到多种网络协议之中,cowboy自带的有tcp和ssl,而也 ...

  6. HDFS优缺点

    HDFS解决大数据存储的问题 HDFS优点 高容错性 数据自动保存多个副本 副本丢失后自动恢复 适合批处理 移动计算而非数据 数据位置暴露给计算框架 适合大数据处理 GB.TB.甚至PB级数据 百万规 ...

  7. PAT A1103

    PAT A1103 标签(空格分隔): PAT 解题思路: DFS #include <cstdio> #include <vector> using namespace st ...

  8. Problem E: 平面上的点和线——Point类、Line类 (V)

    Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...

  9. Linux:OpenSUSE系统的安装

    又过了比较长的时间,基本上都是一周一更了,这期我们就来演示Linux系统中OpenSUSE系统的安装吧! 安装OpenSUSE系统 系统映像文件下载 OpenSUSE 15下载地址: https:// ...

  10. L342 Air Pollution Is Doing More Than Just Slowly Killing Us

    Air Pollution Is Doing More Than Just Slowly Killing Us In the future, the authorities might need to ...