数组的常用方法

会改变原数组的方法:**

  1. push() 用于在数组的末端添加一个或多个元素

  2. pop() 方法用于删除数组的最后一个元素,并且返回该元素

  3. shift() 方法用于删除数组的第一个元素,并返回该元素。注意,该方法会改变原数组。

  4. unshift()方法用于第一个位置添加元素,并返回添加新元素后的数组长度,也会改变原数组。可以接受多个参数

  5. reverse() 用于颠倒排列数组元素,返回改变后的数组,会改变原数组

  6. splice() 方法用于删除原数组的一部分成员,并可以在删除的位置添加新的数组成员,返回值是被删除的元素。注意,该方法会改变原数组。

    1. arr.splice(start, count, addElement1, addElement2, …);
    2. splice的第一个参数是删除的起始位置(从0开始),第二个参数是被删除的元素个数。如果后面还有更多的参数,则表示这些就是要被插入数组的新元素。
  7. sort() 方法对数组成员进行排序,默认是按照字典顺序排序。排序后,原数组将被改变。

sort可以传入一个函数作为参数

0

上面代码中,sort的参数函数本身接受两个参数,表示进行比较的两个数组成员。如果该函数的返回值大于0,表示第一个成员排在第二个成员后面;其他情况下,都是第一个元素排在第二个元素前面。

其他方法

valueOf() 返回数组本身

toString() 返回数组的字符串形式

join() 以指定参数作为分隔符,将所有数组成员连接为一个字符串返回,如果不提供参数,默认用逗号分隔

concat() 用于多个数组的合并,并将新数组的成员,添加到原数组的后面,返回一个新数组 [ ‘hello’].concat([‘world’]// [“hello”, “world”]

slice()方法用于提取目标数组的一部分,返回一个新数组,原数组不变。 arr.slice(start, end);

    • 它的第一个参数为起始位置(从0开始,会包括在返回的新数组之中),第二个参数为终止位置(但该位置的元素本身不包括在内)。如果省略第二个参数,则一直返回到原数组的最后一个成员。
    • 如果slice()方法的参数是负数,则表示倒数计算的位置。
  • map()方法将数组的所有成员依次传入参数函数,然后把每一次的执行结果组成一个新数组返回。

  • forEach()方法与map()方法很相似,也是对数组的所有成员依次执行参数函数。但是,forEach()方法不返回值,只用来操作数据。这就是说,如果数组遍历的目的是为了得到返回值,那么使用map()方法,否则使用forEach()方法。

  • filter()方法用于过滤数组成员,满足条件的成员组成一个新数组返回。

  • some方法是只要一个成员的返回值是true,则整个some方法的返回值就是true,否则返回false。

  • every方法是所有成员的返回值都是true,整个every方法才返回true,否则返回false。

  • reduce()方法和reduceRight()方法依次处理数组的每个成员,最终累计为一个值。它们的差别是,reduce()是从左到右处理(从第一个成员到最后一个成员),reduceRight()则是从右到左(从最后一个成员到第一个成员),其他完全一样。

    • reduce( function(a,b){}) 只有一个参数时 第一次执行时a表示第一个成员 再次执行时 为上一次执行的返回值
    • reduce第二个参数为默认值 那么第一次执行时a的值就为设定的默认值
  • indexOf方法返回给定元素在数组中第一次出现的位置,如果没有出现则返回-1。indexOf方法还可以接受第二个参数,表示搜索的开始位置。

  • lastIndexOf方法返回给定元素在数组中最后一次出现的位置,如果没有出现则返回-1。

  • filter用于对数组进行过滤。返回符合条件的元素组成的新数组


数组的常用方法
https://tian-1-2.github.io/typblog/2022/04/13/数组的常用方法/
作者
田云鹏
发布于
2022年4月13日
许可协议