ES6数组本身/数组实例的方法

64 阅读5分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天juejin.cn/post/712312…

创建数组的方法:

  1. var arr=new Array(元素1,元素2,...);最标准的创建方法
  2. var arr=[1,2,3];直接创建
  3. var arr=new Array(5);创建一个长度为5的数组,里卖弄的每个元素都是空的

Array.of()将一组值,转换为数组

说明:该方法可用来创建数组,如果创建一个只有一个元素的素组,用以前的方法,无法实现用改方法阿九可以实现,他也看作是创建数组的一种新方法。

Array.from(类数组/可遍历的对象)

  • 说明:这个方法是Array构造函数自己本身的方法。
  • 作用:把类数组(伪数组)或可遍历的对象转为真正的数组(也包括Map和Set结构,它俩其实是对象,只是我们平时给他们叫结构)。
  • 只要是部署了 Iterator 接口的数据结构,Array.from()都能将其转为数组。
  • 字符串和set都具有iterator接口,所以它们可以被转为真正的数组。
  • 如果参数是一个真正的数组,使用该方法会返回一个一模一样的数组。
  • 任何具有length属性的对象,都可以用该方法转为真正的数组。
  • 该方法还可以接收第二个参数为一个函数,相当于map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。

数组实例的方法

  1. 数组名.copyWithin(参数1,参数2,参数3);
  • 作用:把指定位置的元素复制到其他位置(覆盖其他位置的元素),当前的数组会被修改。

参数说明:

  • 参数1:(必填)从该位置开始替换,如果值为负数,代表从数组后面开始替换。
  • 参数2:(可选)从该位置开始读取数据,默认0,如果为负数,表示从数组末尾位置开始计算。(-2就代表倒数第二位)
  • 参数3:(可选)从该位置结束(不包括这个位置),如果为负数,表示从末尾开始计算。 注意:这三个参数都应该是数值,如果不是就转换为数值,再进行计算。
  1. 数组名.find(回调函数,第二个参数)
  • 作用:返回数组中第一个匹配的元素,如果没有符合条件的,返回undefined。
  • 注意:该方法可以绑定第二个参数,用来绑定回调函数的this,这时候回调函数里的this就指向第二个参数这个对象。
  • 第二个参数绑定回调函数里的this指向。
  1. 数组名.findIndex(回调函数)
  • 作用:返回数组中第一个匹配的元素的下标,如果没有符合条件的,返回-1。
  • 注意:该方法可以绑定第二个参数,用来绑定回调函数的this,这时候回调函数里的this就指向第二个参数这个对象。 注意:findIndex()方法弥补了indexOf()的不足,indexOf()无法识别到数组成员NaN,但是findIndex()法借助Object.is()方法做到。
  • 第二个参数绑定回调函数里的this指向。
  1. 数组名.findLast(回调函数)
  • 作用:从数组末尾开始读取,返回第一个匹配的元素
  1. 数组名.findLastIndex(回调函数)
  • 作用:从数组末尾开始读取,返回第一个匹配的元素的索引。
  1. 数组名.includes(参数)
  • 作用:检索数组中是否有该元素,有就返回true,没有返回false。
  1. 数组名.etries()
  • 返回值:返回一个遍历器对象。Array Iterator()
  • 解释:返回的这个遍历器对象可用for...of进行遍历,通过该方法返回的遍历器对象,用for...of遍历时,for循环里的变量是数组,里面有两个元素,第一个元素为该元素的下标,第二个元素是元素本身。
  1. 数组名.keys()
  • 返回值:返回一个遍历器对象。Array Iterator();
  • 解释:返回的这个遍历器对象可用for...of进行遍历,通过该方法返回的遍历器对象,用for...of遍历时,for循环里的变量是数组元素的下标
  1. 数组名.values()
  • 解释:返回的这个遍历器对象可用for...of进行遍历,通过该方法返回的遍历器对象,用for...of遍历时,for循环里的变量是元素本身。 10.数组名.fill()
  • 作用:用指定的值,填充数组。
  • 说明:它可以接收三个参数,第一个参数是指定的值,第二个参数是填充的开始位置,第二个参数是填充的结束位置,不包括该位置。
  • 注意:如果填充的是一个对象,那么只拷贝了该对象的指针,如果改变数组中某个元素的属性,整个数组元素都会发生改变。
  1. 数组名.flat(n)
  • 作用:拉平数组。默认只拉平一层,如果想拉平几层,就在n的地方写几次,不管有多少层,都拉平,就直接写Infinity。
  1. 数组名.flatMap(回调函数)
  • 执行过程:对数组的每一个元素限制性一次map方法的回调函数,返回的结果放入到数组里,返回值组成的数组执行flat()方法,返回值为一个新的数组,原数组不改变。
  • 注意:该方法默认只拉平一次,如果想完全拉平,就让flatMap()返回的结果在执行flat()方法。
  1. 数组名.at() ES6新增的方法
  • 说明:平时找到某个数组元素使用数组名[索引]的方法去找,找倒数的元素时得用数组名[数组名.length-1]去找,现在可以用该方法,因为该方法参数可以设置为一个负数。