注意: 以下方法都以 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
网友评论