JavaScript 中的数组对象有许多内置方法,以下是一些常见的数组内置方法:
1. forEach
对数组的每个元素执行一次提供的函数,没有返回值。
const numbers = [1, 2, 3];
numbers.forEach(num => {
console.log(num); // 输出: 1, 2, 3
});
2. filter
创建一个新数组,其中包含所有通过测试的元素。
const numbers = [1, 2, 3, 4];
const evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // 输出: [2, 4]
3. reduce
通过一个累积器函数,将数组中的所有元素归纳成单个值。在每次迭代时,它将当前值传递到累积器中。
const numbers = [1, 2, 3];
const sum = numbers.reduce((accumulator, current) => accumulator + current, 0);
console.log(sum); // 输出: 6
4. some
测试数组中是否至少有一个元素通过提供的函数的测试。
const numbers = [1, 2, 3];
const hasEven = numbers.some(num => num % 2 === 0);
console.log(hasEven); // 输出: true
5. every
测试数组中的所有元素是否都通过提供的函数的测试。
const numbers = [2, 4, 6];
const allEven = numbers.every(num => num % 2 === 0);
console.log(allEven); // 输出: true
6. find
返回数组中满足提供的测试函数的第一个元素的值,否则返回 undefined。
const numbers = [1, 2, 3];
const firstEven = numbers.find(num => num % 2 === 0);
console.log(firstEven); // 输出: 2
7. findIndex
返回给定函数测试的第一个元素的索引,如果没有符合条件的元素,则返回 -1。
const numbers = [1, 2, 3];
const index = numbers.findIndex(num => num % 2 === 0);
console.log(index); // 输出: 1
8. slice
返回数组的一个浅拷贝,选定的元素从 start(包括)到 end(不包括)。
const numbers = [1, 2, 3, 4];
const sliced = numbers.slice(1, 3);
console.log(sliced); // 输出: [2, 3]
9. splice
通过删除或替换现有元素或添加新元素来修改数组。
const numbers = [1, 2, 3, 4];
numbers.splice(1, 2, 5); // 从索引 1 开始删除 2 个元素,并添加 5
console.log(numbers); // 输出: [1, 5, 4]
10. concat
用于合并两个或多个数组,返回一个新数组。
const array1 = [1, 2];
const array2 = [3, 4];
const combined = array1.concat(array2);
console.log(combined); // 输出: [1, 2, 3, 4]
11. join
将所有元素连接成一个字符串,使用指定的分隔符。
const numbers = [1, 2, 3];
const str = numbers.join('-');
console.log(str); // 输出: "1-2-3"
12. reverse
反转数组中元素的顺序。
const numbers = [1, 2, 3];
numbers.reverse();
console.log(numbers); // 输出: [3, 2, 1]
13. sort
对数组元素进行排序并返回数组。
const numbers = [3, 1, 2];
numbers.sort(); // 默认按字符串排序
console.log(numbers); // 输出: [1, 2, 3]