数组
- 数组下标从0开始
- 数组中元素可以是不同类型
- 访问超出下标元素会返回undefined
数组常用方法
方法名 |
作用 |
参数 |
返回值 |
push |
数组最后追加元素 |
新元素 |
新数组的长度 |
pop |
删除数组最后的元素 |
|
被删除的元素 |
unshift |
在数组的开始添加元素 |
新元素 |
新数组的长度 |
shift |
删除数组开始的元素 |
|
被删除的元素 |
concat |
在数组末尾增加多个元素 |
新的元素 |
返回增加元素后的一个新数组
|
slice |
获取子数组 |
参数1:起始位置,参数2:终止位置,不传递第二个参数,则返回到结尾的内容 |
子数组 |
splice |
任意位置添加或删除元素 |
参数1:起始位置,参数2:要删除元素个数,其他参数为插入的数据 |
删除的元素 |
copyWithin |
将数组中一串元素复制到数组另一个位置,会覆盖原来位置的数据 |
参数1:复制的目标位置,参数2:复制的开始位置,参数3:复制的结束位置(可选) |
|
fill |
用指定值填充数组 |
参数1:填充的值,参数2:开始位置,参数3:结束位置 |
|
reverse |
颠倒数组的顺序 |
|
|
sort |
对数组进行排序 |
指定排序函数,可选 |
|
let arr = ['aa'];
arr.push('bb'); //['aa', 'bb']
arr.pop(); //['aa']
arr.unshift('bb'); //['bb', 'aa']
arr.shift(); //['aa']
slice,两个参数可以是负数, 负数时为反向选择, 第二个参数结束位置是不被包含在子数组中的
const arr = [1, 2, 3, 4, 5];
arr.slice(0, 3); //[1, 2, 3]
arr.slice(3); //[4, 5]
arr.slice(-1); //[5]
arr.slice(-3, -1); //[3, 4]
arr.slice(-3, 1); //[]
数组搜索函数
方法名 |
作用 |
参数 |
返回值 |
indexOf |
获取与内容完全匹配的第一个元素的下标 |
参数1:搜索的内容,参数2:起始位置,可选 |
位置下标,没有找到返回-1 |
lastIndexOf |
获取与内容完全匹配的最后一个元素的下标 |
参数1:搜索的内容,参数2:起始位置,可选 |
位置下标,没有找到返回-1 |
findIndex |
获取匹配的第一个元素的下标 |
参数:匹配函数 |
位置下标,没有找到返回-1 |
findLastIndex |
获取匹配的最后一个元素的下标 |
参数:匹配函数 |
位置下标,没有找到返回-1 |
find |
获取匹配的第一个元素 |
参数:匹配函数,函数参数(1:元素,2:下标) |
匹配的元素,没有匹配到返回null |
数组操作
方法名 |
作用 |
参数 |
返回值 |
map |
数组元素格式转换 |
参数:转化函数 |
返回一个新的数组 |
filter |
数组元素过滤 |
参数:过滤函数 |
返回一个新的数组 |
reduce |
数组归纳 |
参数1:归纳函数(1:累加值,2:数组元素),参数2:累加初始值 |
返回累加结果 |
const arr = [1, 2, 3];
arr.map(x => x * 2); //[2, 4, 6]
arr.filter(x => x > 2); //[3]
const sum = arr.reduce((a, x) => a += x, 0); //6
字符串连接
方法名 |
作用 |
参数 |
返回值 |
join |
数组元素以指定字符连接起来 |
参数:分隔符,不指定为逗号 |
返回连接后的字符串 |