
JavaScript数组常用方法详解
本文将深入探讨JavaScript中常用的数组方法,涵盖数组元素的增删、查找、转换、排序、组合及迭代等操作。
一、元素添加与删除
-
push(): 向数组末尾添加一个或多个元素,并返回新数组的长度。
<code class="javascript">let fruits = ["apple", "banana"];
fruits.push("cherry");
console.log(fruits); // ["apple", "banana", "cherry"]</code>
-
pop(): 删除并返回数组的最后一个元素。
<code class="javascript">fruits.pop(); console.log(fruits); // ["apple", "banana"]</code>
-
unshift(): 向数组开头添加一个或多个元素,并返回新数组的长度。
<code class="javascript">fruits.unshift("mango");
console.log(fruits); // ["mango", "apple", "banana"]</code>
-
shift(): 删除并返回数组的第一个元素。
<code class="javascript">fruits.shift(); console.log(fruits); // ["apple", "banana"]</code>
二、查找与搜索
立即学习“Java免费学习笔记(深入)”;
-
indexOf(): 返回数组中第一个与指定元素相匹配的索引值,如果未找到则返回 -1。
<code class="javascript">let numbers = [10, 20, 30, 40]; console.log(numbers.indexOf(20)); // 1</code>
-
includes(): 检查数组是否包含指定的值,返回布尔值。
<code class="javascript">console.log(numbers.includes(30)); // true console.log(numbers.includes(50)); // false</code>
三、数组转换
-
map(): 创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
<code class="javascript">let numbers = [1, 2, 3]; let squares = numbers.map(num => num * num); console.log(squares); // [1, 4, 9]</code>
-
filter(): 创建一个新数组,其包含通过提供的函数测试的所有元素。
<code class="javascript">let evenNumbers = numbers.filter(num => num % 2 === 0); console.log(evenNumbers); // [2]</code>
-
reduce(): 将数组中的所有元素累加为一个值。
<code class="javascript">let sum = numbers.reduce((acc, num) => acc + num, 0); console.log(sum); // 6</code>
四、排序
-
sort(): 对数组进行排序(默认按字母顺序)。 数字排序需要自定义比较函数。
<code class="javascript">let fruits = ["banana", "apple", "cherry"]; fruits.sort(); console.log(fruits); // ["apple", "banana", "cherry"] let numbers = [10, 5, 20]; numbers.sort((a, b) => a - b); // 升序 console.log(numbers); // [5, 10, 20]</code>
-
reverse(): 反转数组中元素的顺序。
<code class="javascript">fruits.reverse(); console.log(fruits); // ["cherry", "banana", "apple"]</code>
五、组合与提取
-
concat(): 连接两个或多个数组。
<code class="javascript">let arr1 = [1, 2]; let arr2 = [3, 4]; let combined = arr1.concat(arr2); console.log(combined); // [1, 2, 3, 4]</code>
-
slice(): 提取数组的一部分,不修改原数组。
<code class="javascript">let numbers = [10, 20, 30, 40]; let sliced = numbers.slice(1, 3); console.log(sliced); // [20, 30]</code>
-
splice(): 从数组中添加或删除元素。
<code class="javascript">let fruits = ["apple", "banana", "cherry"]; fruits.splice(1, 1, "orange", "grape"); console.log(fruits); // ["apple", "orange", "grape", "cherry"]</code>
六、数组迭代
-
forEach(): 为数组中的每个元素执行一次提供的函数。
<code class="javascript">let numbers = [1, 2, 3]; numbers.forEach(num => console.log(num * 2)); // 2, 4, 6</code>
七、其他实用方法
-
join(): 将数组元素连接成一个字符串。
<code class="javascript">let fruits = ["apple", "banana", "cherry"];
console.log(fruits.join(", ")); // "apple, banana, cherry"</code>
-
find(): 返回数组中满足提供的测试函数的第一个元素的值。
<code class="javascript">let numbers = [10, 20, 30]; let result = numbers.find(num => num > 15); console.log(result); // 20</code>
-
findIndex(): 返回数组中满足提供的测试函数的第一个元素的索引。
<code class="javascript">console.log(numbers.findIndex(num => num > 15)); // 1</code>
-
flat(): 将嵌套数组“展平”成一个单层数组。
<code class="javascript">let nested = [1, [2, 3], [4, [5]]]; console.log(nested.flat(2)); // [1, 2, 3, 4, 5]</code>
通过学习以上方法,您可以高效地操作JavaScript数组,完成各种数据处理任务。










