1.判断是否是数组 Array.isArray( arg ) 有兼容性

2.toString 数组转字符串 arr.toString();

3.join 数组每一项间的拼接 arr.join(); String.split()

4.pop 删除原数组最后一项,返回删除项 arr.pop() 原数组被修改

5.push 在原数组末尾添加一项,返回数组新长度,改变原数组
  arr.push( ...arg )

6.shift 删除数组第一项,改变原数组,返回删除项
  arr.shift( );

7.unshift 在原数组首位添加项,返回数组新长度
  arr.unshift( ...arg );

8.reverse 反转数组项的顺序,返回修改后的数组
  arr.reverse();

9.sort 数组每项按照unicode编码排序,默认升序
  arr.sort();

10.concat 数组合并,返回合并后的数组   arr1.concat( arr2 )

11.slice 截取数组 参数一:开始位置 参数二:结束位置后一位
      参数为负数,用数组总长度加上该负数来确定位置;
   结束位置小于起始位置,返回空数组
  arr.slice(arg1,arg2)

12.splice 删除、插入、替换数组元素
  参数一:起始位置 参数二:删除元素个数 参数三:插入的元素
  arr.splice(arg1,arg2,arg3)

  返回被删除的项,会改变原数组。

13.indexOf/lastIndexOf 数组中查找元素的位置
  参数一:要查找的元素 参数二:开始查找位置 返回值-1 不存在,返回值大于等于0表示元素位置
  arr.indexOf(arg1,arg2) 从左往右查找
  arr.lastIndexOf(arg1,arg2) 从右往左查找

遍历数组的5种方法

14.every 数组的每一项都返回true,遍历完整个数组,最终返回值才为true
  arr.every((val,index,arr)=>{
    return val<10;
  })

15.some 数组任意一项返回true,则停止遍历,返回值为true

  arr.some((val,index,arr)=>{
    return val<10;
  })

16.filter 遍历整个数组,找到符合的元素,返回这个新组成的数组
  arr.filter((val,index,arr)=>{
    return val<10;
  })

17.map 遍历整个数组,返回每个元素调用后的结果组成新的数组
  arr.map((val,index,arr)=>{
    return val**2;
  })

18.forEach 遍历数组每一项
  arr.foreach((val,index,arr)=>{
    return val**2;
   })

19.数组累加器reduce、reduceRight
  arr.reduce((preValue, currentValue)=>{
    return preValue + currentValue
  })

ES6新增数组方法

20.from 将类似数组的对象和可遍历的对象转为真正的数组。
  Array.from(["a","b","c"])
  Array.from("fool")

21.of 将一组值转为数组 弥补Array()的不足
  Array.of(7) //[,,,,,,]
  Array.of(7) // [7]
  Array.of(1, 2, 3); // [1, 2, 3]

22.copyWithin 将数组中指定位置的元素复制到其他位置(会覆盖掉原有元素)
  参数一:从该位置开始替换元素 参数二:从该位置开始读取数据,默认为0 参数三:到该位置停止读 取数据,默认为数组长度
  arr.copyWithin(arg1,arg2,arg3)

23.fill 使用给定值,填充数组 参数一:给定的值 参数二:起始位置 参数三:结束位置
  arr.fill(arg1,arg2,arg3)

24.find/findIndex 找到数组中符合条件的值/位置,若没找到返回undefined
  arr.find((val,index,arr)=>{
    return val>9;
  })

25.keys() 遍历数组获取键名
    values() 遍历数组获取键值
    entries() 遍历数组获取键值对
  for(let [index,val] of arr.keys()) {
    console.log(val)
  }

ES7.0新增的数组方法

26.includes 判断数组中是否存在该元素 弥补indexOf不能判断NaN
  arr.includes()

ES8没有新增数组方法

ES5-ES8 数组拥有的方法的更多相关文章

  1. ES5中数组新增的方法说明

    一.前言-索引 ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块,我们可能就不需要去有板有眼地for循环了. ES5中新增了写数组方法,如forEach (js v ...

  2. 关于 ES5 & ES6 数组遍历的方法

    ES5 数组遍历方法 1.for 循环 , , , , ] ; i < arr.length; i++) { console.log(arr[i]) } 2.forEach , , , , ] ...

  3. ES5新增数组的一些方法

    1.Array.indexof(value1,value2) Tip:用于返回某个数组或字符串中规定字符或者字符串的位置. (1)当Array.indexof(value1);里面只有一个值的时候,表 ...

  4. es5中数组的遍历方法

    //for循环 const arr = [1,2,3,4,5] for(let i = 0; i < arr.length; i++){ if(arr[i] === 2){ //break // ...

  5. ES5 对数组方法的扩展 以及 正则表达式

    ES5 对数组的扩展 forEach map some every indexOf lastIndexOf forEach 与 map 语法: 数组.forEach(function ( v, i ) ...

  6. 4日6日--ES5新增数组方法

    forEach使用的函数调用,所以占内存比较大,不如定长for循环和迭代for循环 1.通过forEach将数组中的元素逐个表示出来(遍历方法,读取操作). 2.通过map将原数组中的元素进行算数运算 ...

  7. js数组定义和方法 (包含ES5新增数组方法)

    数组Array 1. 数组定义 一系列数据的集合成为数组.数组的元素可以为任何类型的数据(包括数组,函数等),每个元素之间用逗号隔开,数组格式:[1,2,3]. 2. 数组创建方式 (1) 字面量方法 ...

  8. es5/6数组遍历以及常用的一些方法

    数组的遍历方法 1...for(var i=0;i<arr.length;i++){ } ---------------------------------------------------- ...

  9. ES5新增数组方法测试和字符串常见API测试

    首先是ES5新增数组方法测试: <!DOCTYPE html><html lang="en"><head> <meta charset=& ...

随机推荐

  1. day16 python-04 字典

    Python之路,Day3 = Python基础4 # is 比较id # == 比较数值 # type(1) is type(2) 比较两个变量的类型是否相同 a = 1 b = 1 c = ' p ...

  2. VS2010-MFC(状态栏的使用详解)

    转自:http://www.jizhuomi.com/software/219.html 上一节讲了工具栏的创建.停靠与使用,本节来讲解状态栏的知识. 状态栏简介 状态栏相信大家在很多窗口中都能见到, ...

  3. 杂项-Maven-guava:guava

    ylbtech-杂项-Maven-guava:guava Guava是一种基于开源的Java库,其中包含谷歌正在由他们很多项目使用的很多核心库.这个库是为了方便编码,并减少编码错误.这个库提供用于集合 ...

  4. 关于Delphi中的字符串的详细分析

    关于Delphi中的字符串的详细分析   只是浅浅的解析下,让大家可以快速的理解字符串. 其中的所有代码均在Delphi7下测试通过. Delphi 4,5,6,7中有字符串类型包括了: 短字符串(S ...

  5. Spring+SpringMVC+Mybatis搭建的网站的处理流程总结

    最近学习了如何使用SSM框架搭建网站,以前没用过框架,第一次使用,总结一下自己对框架处理流程的理解

  6. 第二篇:怕碰到是因为没掌握,来吧,zTree!

    一直以来看见web项目中的树就头疼.这次又给碰上了,什么也别说,这次自己整理一个版本出来实践一下.zTree v3.2的API界面非常清爽,但是在查看API之前,你需要自己先实践一下,知道基本的概念和 ...

  7. 靖烜小哥哥之mybatis总结

    MyBatis是一个半自动映射的框架.“半自动”是相对于Hibernate全表映射而言的,MyBatis需要手动匹配提供POJO.SQL和映射关系,而Hibernate只需提供POJO和映射关系即可. ...

  8. <Django>第一篇:入门的例子

    1.MVT框架 Model(模型):数据库交互相关.在这部分一般需要进行三个操作: (1)面向数据库:模型对象.列表 (2)定义模型类:指定属性及类型,确定表结构(设计表),需要迁移(生成表) (3) ...

  9. POJ - 2774~POJ - 3415 后缀数组求解公共字串问题

    POJ - 2774: 题意: 求解A,B串的最长公共字串 (摘自罗穗骞的国家集训队论文): 算法分析: 字符串的任何一个子串都是这个字符串的某个后缀的前缀. 求 A 和 B 的最长 公共子串等价于求 ...

  10. spring:AOP面向切面编程02

    参考: https://blog.csdn.net/jeffleo/article/details/54136904 一.AOP的核心概念AOP(Aspect Oriented Programming ...