JavaScript 提供了丰富的数组操作 API,这些 API 可以方便地对数组进行各种操作。下面是一些常用的 JavaScript 数组方法及其用法示例:
```javascript
// 创建一个数组
let arr = [1, 2, 3, 4, 5];
// push: 向数组末尾添加元素
arr.push(6);
console.log(arr); // 输出: [1, 2, 3, 4, 5, 6]
// pop: 删除数组最后一个元素
arr.pop();
console.log(arr); // 输出: [1, 2, 3, 4, 5]
// shift: 删除数组第一个元素
arr.shift();
console.log(arr); // 输出: [2, 3, 4, 5]
// unshift: 向数组开头添加元素
arr.unshift(0);
console.log(arr); // 输出: [0, 2, 3, 4, 5]
// splice: 删除、替换或添加元素
arr.splice(1, 2, 'a', 'b'); // 从索引1开始删除2个元素,然后插入'a'和'b'
console.log(arr); // 输出: [0, 'a', 'b', 4, 5]
// slice: 提取子数组(不改变原数组)
let subArr = arr.slice(1, 3); // 从索引1开始提取到索引3之前的元素
console.log(subArr); // 输出: ['a', 'b']
// map: 对数组中的每个元素调用函数并返回新数组
let doubled = arr.map(x => x * 2);
console.log(doubled); // 输出: [0, 'aa', 'bb', 8, 10] (注意非数字的处理)
// filter: 筛选出符合条件的元素
let filtered = arr.filter(x => typeof x === 'number');
console.log(filtered); // 输出: [0, 4, 5]
// reduce: 对数组元素执行回调函数,将其结果汇总为单个输出
let sum = arr.reduce((acc, cur) => {
if (typeof cur === 'number') return acc + cur;
else return acc;
}, 0);
console.log(sum); // 输出: 9
// forEach: 遍历数组并对每个元素执行回调函数
arr.forEach(x => console.log(x));
// 输出:
// 0
// 'a'
// 'b'
// 4
// 5
// find: 返回满足条件的第一个元素
let found = arr.find(x => x > 3);
console.log(found); // 输出: 4
// includes: 判断数组是否包含某个元素
console.log(arr.includes(4)); // 输出: true
console.log(arr.includes('a')); // 输出: true
```
上述代码中展示了多个 JavaScript 数组 API 的基本用法:
- `push` 和 `pop` 用于在数组的末尾添加或移除元素。
- `shift` 和 `unshift` 用于在数组的开头移除或添加元素。
- `splice` 可以用来删除、替换或添加元素。
- `slice` 提取子数组而不改变原数组。
- `map` 对每个元素应用函数并生成新数组。
- `filter` 根据条件筛选出符合条件的元素。
- `reduce` 将数组元素归约为单一值。
- `forEach` 遍历数组并对每个元素执行回调函数。
- `find` 查找满足条件的第一个元素。
- `includes` 判断数组是否包含指定元素。