注意: 以下方法都以 arr = [1,2,3] 为例
1. 转换方法
不影响数组
| 方法名 | 参数 | 用法 | 返回 | 作用 |
|---|---|---|---|---|
| toString() | 无 | arr.toString() |
"1,2,3" |
转为为字符串 |
| toLocaleString() | 无 | arr.toLocaleString() |
"1,2,3" |
转为为字符串 |
| valueOf() | 无 | arr.valueOf() |
[1,2,3] |
返回本身 |
| join() | 无 | arr.join() |
"1,2,3" |
把数组的所有元素放入一个字符串,加上逗号 |
- toString(),toLocaleString()和valueOf()都是所有JS对象共有的方法
toString()和toLocaleString()的区别
toLocaleString()会转换成JS标准类型的字符串,如:
image.png
valueOf()返回的都是本身,Date类型除外
Date类型返回时间戳(1970年1月1日0时0分0秒(世界标准时)到当前时间点的所有秒数)
image.png
2. 栈方法(先进后出)
影响数组
| 方法名 | 参数 | 用法 | 返回 | 作用 |
|---|---|---|---|---|
| push() | 一个或多个任意元素 | arr.push(4) |
4,新数组的长度 |
向数组的末尾添加一个或多个元素,并返回新的长度。 |
| pop() | 无 | arr.pop() |
3,数组被删除的元素 |
删除并返回数组的最后一个元素。 |
3. 队列方法(先进先出)
影响数组
| 方法名 | 参数 | 用法 | 返回 | 作用 |
|---|---|---|---|---|
| push() | 见上 | 见上 | 见上 | 见上 |
| shift() | 无 | arr.shift() |
1,数组被删除的元素 |
删除并返回数组的第一个元素。 |
| unshift() | 一个或多个任意元素 | arr.unshift(0) |
4, 新数组的长度 |
向数组的开头添加一个或更多元素,并返回新的长度。 |
4. 重排序方法
影响数组
| 方法名 | 参数 | 用法 | 返回 | 作用 |
|---|---|---|---|---|
| reverse() | 无 | arr.reverse() |
[3,2,1],反转后的数组 |
反转数组的顺序 |
| sort() | 函数(可选) | arr.sort() |
[1,2,3],排序后的数组 |
对数组的元素进行排序 |
5. 操作方法
| 方法名 | 参数 | 用法 | 返回 | 作用 | 是否影响原数组 |
|---|---|---|---|---|---|
| concat() | 一个或多个任意元素 | arr.concat(4,[5,6]) |
[1,2,3,4,5,6],合并后的数组 |
方法用于连接两个或多个数组。 | 不影响 |
| splice() | arr.splice(index,len,item1,..,itemX) |
删除元素:arr.splice(0,1) 替换元素: arr.splice(0,1,4,5)
|
删除元素:[1]替换元素: [1](被删除的元素组成的数组) |
删除或替换元素,返回被删除的数组 |
影响,删除元素:[1,2],替换元素:[4,5,2,3]
|
| slice() |
arr.slice(start,end) ,end可选,没有end时默认为从start开始到结尾 |
arr.slice(1,3) |
[2,3],截取的数组 |
从已有的数组中返回选定的元素。 | 不影响 |
6. 位置方法
不影响数组
| 方法名 | 参数 | 用法 | 返回 | 作用 |
|---|---|---|---|---|
| indexOf() | 一个元素 | arr.indexOf(1) |
0,传入的元素首次出现的位置 |
从前向后搜索字符串,确定元素的位置 |
| lastIndexOf() | 一个元素 | arr.indexOf(1) |
0,传入的元素最后出现的位置 |
从后向前搜索字符串,确定元素的位置 |
7. 迭代方法
不影响数组
| 方法名 | 参数 | 返回 | 作用 |
|---|---|---|---|
| every() |
array.every(function(currentValue,index,arr), thisValue)thisValue可选,当做this |
true/false |
检测数组所有元素是否都符合指定条件 |
| some() |
array.some(function(currentValue,index,arr), thisValue)thisValue可选,当做this |
true/false |
检测数组元素中是否有元素符合指定条件 |
| filter() |
array.filter(function(currentValue,index,arr), thisValue)thisValue可选,当做this |
数组中满足的元素组成的数组 | 检测数值元素,并返回符合条件所有元素的数组。 |
| map() |
array.map(function(currentValue,index,arr), thisValue)thisValue可选,当做this |
处理后的新数组 | 对数组中每个元素进行处理,返回处理后的新数组 |
| forEach() |
array.forEach(function(currentValue,index,arr), thisValue)thisValue可选,当做this |
无 | 数组每个元素都执行一次回调函数,不返回 |
8. 归并方法
不影响数组
| 方法名 | 参数 | 返回 | 作用 |
|---|---|---|---|
| reduce() | arr.reduce(function(total, currentValue, currentIndex, array), initialValue) |
计算结果 | 将数组元素计算为一个值(从左到右)。 |
| reduceRight() | arr.reduce(function(total, currentValue, currentIndex, array), initialValue) |
计算结果 | 将数组元素计算为一个值(从右到左)。 |
归并方法的参数
image.png
用法举例
image.png

image.png
image.png
image.png
image.png






网友评论