Title: JS红宝书(一)Array
Date: 2020-05-18 11:06
categories: JS红宝书
tags:
- Array
Array
栈方法
-
push()
接受任意数量的参数,把他们逐个添加到数组末尾,并返回修改后数组的长度。
-
pop()
从数组末尾移除最后一项,减少数组的length值,然后返回移除的项。
队列方法
-
shift()
移除数组中的第一项并返回该项,同时将数组长度减一。
-
unshift()
在数组的前端添加任意一个项并返回数组的长度。
重排序方法
-
reverse()
反转数组排序
-
sort()
默认情况下,sort()方法按照升序排序数组项(最小的位于最前面,最大的值排在最后面)。为了实现排序,sort()方法会调用每个数组项的toString()转型方法,然后比较得到的字符串。
操作方法
-
concat()
这个方法会先创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新创建的数组。在没有给concat()方法传递参数的情况下,他只是复制当前数组并返回副本。如果传递给concat()方法的是一个或多个数组,则该放放会将这些数组中的每一项都添加到结果数组中。
-
slice()
slice() 方法可以接受一个或两个参数,即要返回项的起始和结束位置。在只有一个参数的情况下,该参数是起始位置,返回从起始位置到当前数组末尾的所有项。slice()方法不会影响原数组。
-
splice()
- 删除:可以删除数组的任意项,只需要指定两个参数:删除的位置和要删除的项数。例如,splice(0,2)会删除数组中的前两项。
- 插入:可以向指定位置插入任意数量的项,只需要提供三个参数:起始位置、0(要删除的项数)和要插入的项(可以为多个)。例如:splice(2,0,“dog”,“cat”)
- 替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项。插入的项数不必与删除的项数相同。例如:splice(2,1,“dog”,“cat”)
迭代方法
- every():对数组中的每一项运行给定函数,如果该函数每一项都返回true,则返回true。
- filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组。
- forEach():对数组中的每一项运行给定函数,该函数没有返回值。
- map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
- some():对数组中的每一项运行给定函数,如果对该函数任意一项返回true,则返回true。
归并方法
- reduce():从数组的第一项开始,逐个遍历到最后。
- reduceRight():从数组的最后一项开始,向前遍历到第一项。
传给reduce()和reduceRight()的函数接收4个参数:前一个值,当前值,项的索引和数组对象。