以下是 JavaScript 中常见的数组方法及其使用案例:
-
push(): 在数组末尾添加一个或多个元素。
const fruits = ['apple', 'banana']; fruits.push('orange'); // 结果:fruits 现在是 ['apple', 'banana', 'orange']
-
pop(): 从数组末尾删除最后一个元素。
const fruits = ['apple', 'banana', 'orange']; fruits.pop(); // 结果:fruits 现在是 ['apple', 'banana']
-
shift(): 从数组头部删除第一个元素。
const fruits = ['apple', 'banana', 'orange']; fruits.shift(); // 结果:fruits 现在是 ['banana', 'orange']
-
unshift(): 在数组头部添加一个或多个元素。
const fruits = ['banana', 'orange']; fruits.unshift('apple'); // 结果:fruits 现在是 ['apple', 'banana', 'orange']
-
splice(): 在指定位置插入或删除元素。
const fruits = ['apple', 'banana', 'orange']; fruits.splice(1, 1, 'grape', 'kiwi'); // 结果:fruits 现在是 ['apple', 'grape', 'kiwi', 'orange']
-
slice(): 从数组中提取一个新数组。
const fruits = ['apple', 'banana', 'orange']; const citrus = fruits.slice(1, 3); // 结果:citrus 是 ['banana', 'orange'], fruits 保持不变
-
concat(): 连接两个或更多数组。
const fruits = ['apple', 'banana']; const vegetables = ['carrot', 'broccoli']; const food = fruits.concat(vegetables); // 结果:food 是 ['apple', 'banana', 'carrot', 'broccoli']
-
indexOf(): 返回指定元素的第一个匹配项的索引。
const fruits = ['apple', 'banana', 'orange']; const index = fruits.indexOf('banana'); // 结果:index 是 1
-
includes(): 判断数组是否包含指定元素。
const fruits = ['apple', 'banana', 'orange']; const hasBanana = fruits.includes('banana'); // 结果:hasBanana 是 true
-
forEach(): 遍历数组中的每个元素执行指定函数。
const fruits = ['apple', 'banana', 'orange']; fruits.forEach(fruit => console.log(fruit)); // 输出:apple, banana, orange
-
map(): 创建一个新数组,其结果是对原数组每个元素调用一个提供的函数。
const numbers = [1, 2, 3]; const doubled = numbers.map(number => number * 2); // 结果:doubled 是 [2, 4, 6]
-
filter(): 创建一个新数组,其中包含通过提供的函数实现的测试的所有元素。
const numbers = [1, 2, 3, 4, 5]; const evens = numbers.filter(number => number % 2 === 0); // 结果:evens 是 [2, 4]
-
reduce(): 对数组中的所有元素执行一个累加器函数。
const numbers = [1, 2, 3, 4, 5]; const sum = numbers.reduce((acc, number) => acc + number, 0); // 结果:sum 是 15
-
find(): 返回数组中满足提供的测试函数的第一个元素值,否则返回 undefined。
const numbers = [1, 2, 3, 4, 5]; const even = numbers.find(number => number % 2 === 0); // 结果:even 是 2
-
every(): 测试数组的所有元素是否都通过了指定函数的测试。
const numbers = [2, 4, 6, 8, 10]; const allEven = numbers.every(number => number % 2 === 0); // 结果:allEven 是 true
-
some(): 测试数组的某些元素是否通过了指定函数的测试。
const numbers = [1, 2, 3, 4, 5]; const hasEven = numbers.some(number => number % 2 === 0); // 结果:hasEven 是 true
-
reverse(): 颠倒数组中元素的顺序。
const numbers = [1, 2, 3, 4, 5]; const reversed = numbers.reverse(); // 结果:reversed 是 [5, 4, 3, 2, 1], numbers 被改变
-
join(): 将数组的所有元素连接成一个字符串。
const fruits = ['apple', 'banana', 'orange']; const fruitString = fruits.join(', '); // 结果:fruitString 是 "apple, banana, orange"
-
sort(): 对数组元素进行排序。
const fruits = ['banana', 'apple', 'orange']; const sortedFruits = fruits.sort(); // 结果:sortedFruits 是 ['apple', 'banana', 'orange'], 原数组 fruits 被改变
-
flat(): 将嵌套数组拉平。
const nestedArray = [1, [2, [3, 4]]]; const flatArray = nestedArray.flat(2); // 结果:flatArray 是 [1, 2, 3, 4]
-
isArray(): 判断一个对象是否为数组。
const fruits = ['apple', 'banana', 'orange']; const isFruitsArray = Array.isArray(fruits); // 结果:isFruitsArray 是 true
-
indexOf() 和 lastIndexOf(): 返回指定元素的第一个和最后一个匹配项的索引。
const numbers = [1, 2, 3, 4, 2, 5]; const firstIndex = numbers.indexOf(2); const lastIndex = numbers.lastIndexOf(2); // 结果:firstIndex 是 1, lastIndex 是 4
这些方法覆盖了一些基本的数组操作,具体的选择取决于你的使用场景。
这只是 JavaScript 数组方法的常见的一小部分。有许多其他方法,具体的使用取决于你的需求。