JavaScript 数组详解:创建、索引和常用方法

Javascript教程 2025-10-21

数组是 JavaScript 中最常用的数据结构之一。无论您是在处理简单的待办事项列表,还是构建复杂的应用程序,数组都提供了一种可靠的方法来存储、组织和操作数据集合。

使用数组是 JavaScript    的一项关键技能,因为它们构成了处理数据集合、管理应用程序状态和执行转换的基础。一旦您了解如何创建数组、索引元素以及如何使用核心方法,您就可以准备好解决实际项目中遇到的问题。

您将学到什么

在本指南中,您将发现:

  • 如何以不同的方式创建数组

  • 索引的工作原理及其重要性

  • 操作数组的最常用方法

  • 避免常见错误的最佳实践

最后,您不仅会了解数组,而且还能够在自己的项目中有效地使用它们。

什么是数组?

在探索如何创建数组之前,了解它们是什么很重要。

数组是值的有序列表,每个元素都分配一个从 0 开始的数字索引。在 JavaScript 中,数组非常灵活,可以存储数字、字符串、对象甚至其他数组。

这种灵活性使得数组成为存储数据列表时的首选结构。为了充分利用数组,首先了解如何创建数组至关重要。

创建数组

数组可以通过多种方式创建,选择正确的方式取决于您的用例。

数组文字(推荐):

const colors = ['red', 'green', 'blue'];

最常见且易读的方式。

数组构造函数:

const numbers = new Array(3); // [ <3 empty items> ]

在极少数情况下有用,但可能会造成混淆。

Array.of() 和 Array.from():

const single = Array.of(3); // [3]
const chars = Array.from('wisdom'); 
// ['w','i','s','d','o', 'm']

每种创建方法都直接影响我们如何访问元素,这就是索引的作用所在。

索引和访问元素

创建数组后,您经常需要访问特定的项。这时索引就派上用场了。

从零开始的索引:

const fruits = ['apple', 'banana', 'watermelon'];
console.log(fruits[0]); // 'apple'

最后一个元素的长度为:

console.log(fruits[fruits.length - 1]); // 'watermelon'

使用 at() 进行现代负索引:

console.log(fruits.at(-1)); // 'watermelon'

索引使您可以控制数组元素,从而可以使用内置的 JavaScript 方法添加、删除或更新值。

常用数组方法

现在你已经能够创建数组并访问元素了,下一步就是学习如何高效地使用它们。JavaScript 为此提供了许多内置方法。

添加和删除元素:

const nums = [1, 2];
nums.push(3); // [1,2,3] - add to end
nums.pop(); // [1,2] - remove from end
nums.shift(); // [2] - remove from start
nums.unshift(0);// [0,2] - add to start

复制和切片:

const arr = [1, 2, 3, 4];
const part = arr.slice(1, 3); // [2,3]

转换数据:

const doubled = arr.map(x => x * 2); // [2,4,6,8]
const even = arr.filter(x => x % 2 === 0); // [2,4]

减少和总结:

const sum = arr.reduce((a, b) => a + b, 0); // 10

这些方法建立在我们之前介绍的索引概念之上。例如,push 会将一个元素附加到数组的末尾,而 slice 则会根据选定的索引范围生成一个新数组。

综合起来

让我们在一个示例中应用所有内容。假设您有一个订单列表,并想查找所有已付款金额的总和:

const orders = [
  { id: 1, amount: 20, status: 'paid' },
  { id: 2, amount: 0, status: 'refunded' },
  { id: 3, amount: 50, status: 'paid' }
];
const totalPaid = orders.filter(order => order.status === 'paid').map(order => order.amount).reduce((sum, amount) => sum + amount, 0); 
// calculate total
console.log(totalPaid); // 70

这个简短的例子将创建(对象数组)、索引(访问属性)和方法(过滤、映射和减少)结合在一起形成一个清晰的工作流程。

结论

数组不仅仅是简单的列表;它是 JavaScript 中管理数据的核心结构。您已经学习了如何创建数组、如何通过索引访问元素,以及如何使用常用方法来操作和转换数据。

要点很明确:每个概念都堆叠在前一个概念之上,从而形成逻辑流程:

  • 首先创建数组。

  • 然后使用索引来访问或修改元素。

  • 最后,您可以应用方法来有效地转换数据。

当您整体实践这些概念时,您将能够编写更清晰、更有效、更高效的 JavaScript 代码;这对于小列表和大数据集都有用。