使用指南
分类 | 方法/属性 | 描述 | 示例 | 返回值/结果 |
---|---|---|---|---|
创建数组 | 数组字面量 | 使用方括号创建数组 | let arr = [1, 2, 3]; |
[1, 2, 3] |
Array构造函数 | 使用new Array()创建 | let arr = new Array(1, 2, 3); |
[1, 2, 3] | |
空数组 | 创建空数组 | let arr = []; |
[] | |
访问元素 | 索引访问 | 通过索引获取元素(从0开始) | let arr = ['a', 'b']; arr[0]; |
‘a’ |
length属性 | 获取数组长度 | ['a', 'b'].length; |
2 | |
越界访问 | 访问不存在的索引 | let arr = [1]; arr[5]; |
undefined | |
修改数组 | 直接赋值 | 通过索引修改元素 | let arr = [1]; arr[0] = 2; |
[2] |
push() | 在末尾添加元素 | [1].push(2); |
[1, 2] | |
pop() | 移除并返回最后一个元素 | [1, 2].pop(); |
2 (原数组变为[1]) | |
unshift() | 在开头添加元素 | [2].unshift(1); |
[1, 2] | |
shift() | 移除并返回第一个元素 | [1, 2].shift(); |
1 (原数组变为[2]) | |
splice() | 添加/删除元素 | [1,2,3].splice(1,1,'a'); |
[2] (原数组变为[1, ‘a’, 3]) | |
遍历数组 | for循环 | 传统遍历方式 | for(let i=0; i<arr.length; i++) {...} |
依次访问每个元素 |
for…of | 遍历元素值 | for(let item of arr) {...} |
依次访问每个元素 | |
forEach() | 数组方法遍历 | arr.forEach((item, index) => {...}); |
依次访问每个元素和索引 | |
查找元素 | indexOf() | 查找元素索引 | ['a','b'].indexOf('b'); |
1 |
lastIndexOf() | 从后向前查找 | ['a','b','a'].lastIndexOf('a'); |
2 | |
includes() | 检查是否包含 | [1,2].includes(2); |
true | |
find() | 查找符合条件的第一个元素 | [1,2,3].find(x => x>1); |
2 | |
findIndex() | 查找符合条件的第一个索引 | [1,2,3].findIndex(x => x>1); |
1 | |
some() | 检查是否有元素符合条件 | [1,2,3].some(x => x>2); |
true | |
转换数组 | map() | 对每个元素执行函数 | [1,2].map(x => x*2); |
[2,4] |
filter() | 过滤符合条件的元素 | [1,2,3].filter(x => x>1); |
[2,3] | |
reduce() | 将数组缩减为单个值 | [1,2,3].reduce((a,b) => a+b); |
6 | |
concat() | 合并数组 | [1].concat([2]); |
[1,2] | |
join() | 将数组转为字符串 | ['a','b'].join('-'); |
“a-b” | |
flat() | 扁平化多维数组 | [1,[2]].flat(); |
[1,2] | |
其他操作 | slice() | 截取部分数组 | [1,2,3].slice(1); |
[2,3] |
sort() | 排序数组 | [3,1].sort(); |
[1,3] | |
reverse() | 反转数组 | [1,2].reverse(); |
[2,1] | |
Array.isArray() | 检查是否为数组 | Array.isArray([]); |
true |