虽然知道有哪些方法,但是不总结以下,等到用的时候还是不知道怎么下手,索性一起总结一下。(ES6之后补充)
栈、队列方法
1. push() 和 unshift()向数组末位(首位)添加元素
返回数组长度,改变原数组
1 |
var arr = [1, 2, 3] |
2. pop() 和 shift()移除数组最后一位(第一位)元素
返回被移除的那一位,改变原数组
1 |
var arr = [1, 2, 3, 4] |
排序方法
1. reverse() 翻转数组排列顺序
改变原数组,并将其返回
1 |
var arr = [1, 2, 3, 4] |
2. sort() 数组排序,无参数情况会按升序排列,会调用数组每项toString()方法,然后比较字符串
改变原数组,并将其返回
1 |
var arr = [2, 22, 3, 15] |
sort() 也可接收一个函数作为参数,函数接收两个参数,函数内返回负数则为升序(不需要交换位置),返回正数则为降序(参数位置互换),返回0则两参数相等
即返回第一个参数减第二个参数为升序(第二个参数减第一个参数为降序)
1 |
var arr = [2, 22, 3, 15] |
操作、位置方法
1. concat()合并多个数组
不改变原数组,返回合并后的结果
1 |
var arr = [1, 2, 3] |
2. slice()截取字符串
第一个参数为从指定位置开始截取,第二个参数为截取到第几位(不包括截止位)
不改变原数组,返回截取得到的数组
1 |
var arr = [1, 2, 3, 4] |
第二个参数可以为负数,表示从数组最后一位开始算
3. splice()删除,插入,替换
第一个参数表示从指定位开始截取
第二个参数表示截取几位
第三个参数表示在截取的位置插入第三位参数
改变原数组,返回截取掉的数组
1 |
var arr = [1, 2, 3] |
4. indexOf() 和 lastIndexOf()正向(反向)查找数组项
第一个参数为查找项,第二个参数为从第几位开始查找
不改变原数组,返回索引值
1 |
var arr = [1, 2, 3, 2, 4, 5] |
遍历方法
都接收三个参数,
第一个表示数组每一项
第二个表示该项的索引值
第三个表示操作的哪个数组
1. every((item) => {}):对数组每一项进行判断或操作
对数组中每一项都运行给定函数,都返回true则返回true,否则返回false
1 |
var arr = [1, 2, 3, 4, 5] |
2. filter(item => {}):筛选符合条件的数组
返回符合给定条件的数组项组成的数组
1 |
var arr = [1, 2, 3, 4, 5] |
3. forEach(item => {}):遍历数组每一项,没有返回值
4. map(item => {}):对数组每一项进行操作并返回操作之后的数组
1 |
var arr = [1, 2, 3, 4, 5] |
5. some(item => {}):当数组满足给定条件即返回true,不一定把数组全部遍历
1 |
var arr = [1, 2, 3, 4, 5] |
归并方法
1. reduce()和reduceRight()
前者表示从头开始遍历,后者表示从尾开始遍历
接受两个参数,一个是在数组每一项上调用的函数,另一个可选参数是作为归并基础的初始值。其中作为参数的函数接受4个参数:前一个值、当前值、索引和数组对象。
这个函数返回的任何值都会作为第一个参数自动传给下一项
1 |
var arr = [1, 2, 3, 4, 5] |
参考 简书
近期评论