JavaScript 中的 `Array` 对象是前端开发中不可或缺的数据结构,它提供了一系列的函数(方法)来操作数组。这些方法可以帮助我们更高效地进行数组的添加、删除、遍历、筛选等操作。以下是 `Array` 常用函数的详细用法:
1. `push()`
向数组的末尾添加一个或多个元素,并返回新的数组长度。
let fruits = ['apple', 'banana'];
fruits.push('orange', 'grape'); // fruits 变为 ['apple', 'banana', 'orange', 'grape']
2. `pop()`
删除数组的最后一个元素,并返回被删除的元素。
let fruits = ['apple', 'banana', 'orange'];
let last = fruits.pop(); // 删除 'orange',fruits 变为 ['apple', 'banana']
3. `shift()`
删除数组的第一个元素,并返回被删除的元素。
let fruits = ['apple', 'banana', 'orange'];
let first = fruits.shift(); // 删除 'apple',fruits 变为 ['banana', 'orange']
4. `unshift()`
向数组的开始添加一个或多个元素,并返回新的数组长度。
let fruits = ['banana', 'orange'];
fruits.unshift('apple'); // fruits 变为 ['apple', 'banana', 'orange']
5. `slice()`
提取原数组的一部分,返回一个新数组。
let fruits = ['apple', 'banana', 'orange', 'grape'];
let citrus = fruits.slice(1, 3); // 从索引1开始到索引3(不包括3),返回 ['banana', 'orange']
6. `splice()`
通过删除、替换或添加新元素来改变原数组。
let fruits = ['apple', 'banana', 'orange'];
fruits.splice(1, 1, 'mango'); // 从索引1开始删除1个元素,并添加'mango',数组变为 ['apple', 'mango', 'orange']
7. `concat()`
合并两个或多个数组。
let fruits = ['apple', 'banana'];
let moreFruits = fruits.concat(['orange', 'mango']); // moreFruits 变为 ['apple', 'banana', 'orange', 'mango']
8. `join()`
将数组中的所有元素连接成一个字符串。
let fruits = ['apple', 'banana', 'orange'];
let fruitString = fruits.join(', '); // 返回 "apple, banana, orange"
9. `indexOf()`
返回数组中首次出现指定元素的索引,如果不存在,则返回 `-1`。
let fruits = ['apple', 'banana', 'orange'];
let index = fruits.indexOf('banana'); // 返回 1
10. `forEach()`
对数组的每个元素执行一次提供的函数。
let fruits = ['apple', 'banana', 'orange'];
fruits.forEach(function(item, index, array) {
console.log(item, index); // 输出数组元素及其索引
});
11. `map()`
创建一个新数组,其结果是该数组中的每个元素都调用一次提供的函数后的返回值。
let numbers = [1, 2, 3];
let squares = numbers.map(function(item) {
return item * item; // 返回 [1, 4, 9]
});
12. `filter()`
创建一个新数组,包含通过所提供函数实现的测试的所有元素。
let numbers = [1, 2, 3, 4, 5];
let evens = numbers.filter(function(item) {
return item % 2 === 0; // 返回 [2, 4]
});
13. `reduce()`
对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。
let numbers = [1, 2, 3, 4];
let sum = numbers.reduce(function(accumulator, currentValue) {
return accumulator + currentValue; // 返回 10
}, 0);
了解和熟练运用这些 `Array` 函数,可以大大提高处理数组的效率,是每位前端开发者必备的技能。