数组是一个对象,可以一次存储多个值。
const age = [17, 18, 15, 19, 14];
在上面的例子中,我们创建了一个数组来记录五个学生的年龄。

为什么要使用数组?
数组允许我们将相关数据组织起来,将它们分组到一个变量中。
假设你想存储一个水果列表。仅使用变量,这个过程可能看起来像这样
let fruit1 = "Apple";
let fruit2 = "Banana";
let fruit3 = "Orange";
这里,我们只列出了一些水果。但是如果我们想存储 100 种水果呢?
在这种情况下,最简单的解决方案是将它们存储在数组中。
let fruits = ["Apple", "Banana", "Orange", ...];
一个数组可以在一个变量中存储许多值,通过引用相应的索引号可以轻松访问它们。
创建数组
我们可以通过将元素放在数组字面量 []
中,并用逗号分隔来创建数组。例如,
const numbers = [10, 30, 40, 60, 80];
这里,
numbers
- 数组的名称。[10, 30, 40, 60, 80]
- 数组的元素。
这里有几个 JavaScript 数组的例子
// empty array
const emptyArray = [];
// array of strings
const dailyActivities = ["eat", "work", "sleep"];
// array with mixed data types
const mixedArray = ["work", 1, true];
注意: 与许多其他编程语言不同,JavaScript 允许我们创建包含混合数据类型的数组。
访问数组元素
数组的每个元素都与一个数字相关联,称为索引,它指定了它在数组中的位置。
考虑以下数组
let numbers = [10, 30, 40, 60, 80];
这里是每个元素的索引

我们可以使用数组索引来访问数组的元素。
代码 | 描述 |
---|---|
numbers[0] |
访问第一个元素 10。 |
numbers[1] |
访问第二个元素 30。 |
numbers[2] |
访问第三个元素 40。 |
numbers[3] |
访问第四个元素 60。 |
numbers[4] |
访问第五个元素 80。 |
让我们看一个例子。
let numbers = [10, 30, 40, 60, 80]
// access first element
console.log(numbers[0]); // 10
// access third element
console.log(numbers[2]); // 40
请记住: 数组索引始终从 0 开始,而不是 1。
向数组添加元素
我们可以使用内置方法,如 push()
和 unshift()
,向数组添加元素。
1. 使用 push() 方法
push()
方法在数组的末尾添加一个元素。
let dailyActivities = ["eat", "sleep"];
// add an element at the end
dailyActivities.push("exercise");
console.log(dailyActivities);
// Output: [ 'eat', 'sleep', 'exercise' ]
2. 使用 unshift() 方法
unshift()
方法在数组的开头添加一个元素。
let dailyActivities = ["eat", "sleep"];
// add an element at the beginning
dailyActivities.unshift("work");
console.log(dailyActivities);
// Output: [ 'work', 'eat', 'sleep' ]
要了解更多,请访问 Array push() 和 Array unshift()。
更改数组的元素
我们可以通过访问索引值来添加或更改元素。例如,
let dailyActivities = [ "eat", "work", "sleep"];
// change the second element
// use array index 1
dailyActivities[1] = "exercise";
console.log(dailyActivities);
// Output: [ 'eat', 'exercise', 'sleep' ]
在这里,我们将索引 1(第二个元素)处的数组元素从 work
更改为 exercise
。
从数组中删除元素
我们可以使用 splice()
方法从数组的任何指定索引处删除一个元素。
let numbers = [1, 2, 3, 4, 5];
// remove one element
// starting from index 2
numbers.splice(2, 1);
console.log(numbers);
// Output: [ 1, 2, 4, 5 ]
在此示例中,我们使用 splice()
方法删除了索引 2(第三个元素)处的元素。
请注意以下代码
numbers.splice(2, 1);
这里,(2, 1)
表示 splice()
方法从索引 2 开始删除一个元素。
注意: 假设您要删除第二个、第三个和第四个元素。您可以使用以下代码执行此操作
numbers.splice(1, 3);
要了解更多,请访问 JavaScript Array splice()。
数组方法
JavaScript 具有各种数组方法来执行有用的操作。JavaScript 中一些常用的数组方法是
方法 | 描述 |
---|---|
concat() | 连接两个或多个数组并返回结果。 |
toString() | 将数组转换为由(逗号分隔的)数组值组成的字符串。 |
indexOf() | 搜索数组中的元素并返回其位置(索引)。 |
find() | 返回通过给定测试的数组元素的第一个值。 |
findIndex() | 返回通过给定测试的数组元素的第一个索引。 |
forEach() | 为每个元素调用一个函数。 |
includes() | 检查数组是否包含指定元素。 |
sort() | 按字母顺序对字符串元素排序,按升序对数字元素排序。 |
slice() | 选择数组的一部分并将其作为新数组返回。 |
splice() | 删除或替换现有元素,和/或添加新元素。 |
要了解更多,请访问 JavaScript 数组方法。
更多关于 JavaScript 数组
您也可以使用 JavaScript 的 new
关键字创建数组。例如,
const array2 = new Array("eat", "sleep");
console.log(array2);
// Output: [ 'eat', 'sleep' ]
注意:为了更好的可读性和执行速度,最好使用数组字面量 []
来创建数组。
我们可以使用内置方法,如 pop()
和 shift()
,从数组中删除元素。
1. 使用 pop() 删除最后一个元素。
let dailyActivities = ['work', 'eat', 'sleep', 'exercise'];
// remove the last element
dailyActivities.pop();
console.log(dailyActivities);
// Output: [ 'work', 'eat', 'sleep' ]
2. 使用 shift() 删除第一个元素。
let dailyActivities = ['work', 'eat', 'sleep', 'exercise'];
// remove the first element
dailyActivities.shift();
console.log(dailyActivities);
// Output: [ 'eat', 'sleep', 'exercise' ]
要了解更多,请访问 Array pop() 和 Array shift()。
我们可以使用 length
属性查找数组的长度。例如,
const dailyActivities = [ "eat", "sleep"];
// return the length of array
console.log(dailyActivities.length);
// Output: 2
在 JavaScript 中,数组是一种对象。但是,
- 数组使用数字索引来访问元素。
- 对象使用命名索引(键)来访问值。
由于数组是对象,因此数组元素是按引用存储的。因此,当我们分配一个数组给另一个变量时,我们只是指向内存中的同一个数组。
所以,改变一个也会改变另一个,因为它们本质上是同一个数组。例如,
let arr = ["h", "e"];
// assign arr to arr1
let arr1 = arr;
// change arr1
arr1.push("l");
console.log(arr);
console.log(arr1);
输出
[ 'h', 'e', 'l' ] [ 'h', 'e', 'l' ]
在这里,我们修改了复制的数组 arr1,这也修改了原始数组 arr。
另请阅读