在本教程中,您将了解 JavaScript 数组及其基本操作。

JavaScript 数组简介

在 JavaScript ,数组包含多个值,这些值在数组是有序的列表。值在数组中称为元素,每个元素都有自己的下标,下标通常成为索引。

JavaScript 数组具有以下特点:

  1. 首先,数组元素可以多种类型的值。例如,您可以使用一个数组来存储类型为数字、字符串、布尔值和 null 的元素。
  2. 其次,数组的大小是动态的并且会自动增长。换句话说,您不需要预先指定数组大小。

创建 JavaScript 数组

JavaScript 为您提供了两种创建数组的方法。 第一个是使用 Array 构造函数,如下所示:

let scores = new Array();

scores 数组为空,不包含任何元素。

如果您知道数组需要存储元素数量,则可以创建一个具有初始大小的数组,如以下示例所示:

let scores = Array(10);

要创建一个数组并用一些元素对其进行初始化,您可以将元素作为逗号分隔的列表传递给 Array() 构造函数。

例如,以下语句创建具有五个元素(或数字)的数组 scores

let scores = new Array(9,10,8,7,6);
请注意,如果您使用 Array() 构造函数创建一个数组并将一个数字传递给它,您将创建一个具有初始大小的数组。

但是,当您将另一种类型的值传递给构造 Array() 函数时,您会创建一个包含该值元素的数组。例如:

let athletes = new Array(3); // 创建数组,设置最大元素是 3 个
let scores = new Array(1, 2, 3); // 创建数组,包含元素 1,2 3
let signs = new Array('Red'); // 创建数组,包含一个元素 'Red'

JavaScript 允许您在使用 Array() 构造函数时省略关键词 new。例如,以下语句创建 数组 artists

let artists = Array();

实际上,您很少会使用Array()构造函数来创建数组。创建数组的更方便的方法是使用数组字面量表示法:

let arrayName = [element1, element2, element3, ...];

数组字面量语法形式是使用方括号 [] 包裹以逗号分隔的元素列表。

以下示例创建 colors 包含字符串元素的数组:

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

要创建一个空数组,您可以使用方括号且不需要不指定任何元素,如下所示:

let emptyArray = [];

JavaScript 数组是从零开始索引的。换句话说,数组的第一个元素从索引 0 开始,第二个元素从索引 1 开始,依此类推。

要访问数组中的元素,请在方括号 [] 中指定索引:

arrayName[index]

下面显示了如何访问 mountains 数组的元素:

let mountains = ['Everest', 'Fuji', 'Nanga Parbat'];

console.log(mountains[0]); // 'Everest'
console.log(mountains[1]); // 'Fuji'
console.log(mountains[2]); // 'Nanga Parbat'

要修改元素的值,您可以将该值分配给元素,如下所示:

let mountains = ['Everest', 'Fuji', 'Nanga Parbat'];
mountains[2] = 'K2';

console.log(mountains);
[ 'Everest', 'Fuji', 'K2' ]

获取数组大小

通常,数组的 length 属性返回元素的数量。以下示例显示了如何使用数组的length 属性:

let mountains = ['Everest', 'Fuji', 'Nanga Parbat'];
console.log(mountains.length); // 3

数组的基本操作

下面解释一些对数组的基本操作。您将在接下来的教程中学习高级操作,例如map()filter()reduce()

向数组末尾添加一个元素

要将元素添加到数组的末尾,可以使用数组的 push() 方法:

let seas = ['Black Sea', 'Caribbean Sea', 'North Sea', 'Baltic Sea'];
seas.push('Red Sea');

console.log(seas); 
[ 'Black Sea', 'Caribbean Sea', 'North Sea', 'Baltic Sea', 'Red Sea' ]

添加一个元素到数组的开头

要将元素添加到数组的开头,可以使用数组的 unshift() 方法:

let seas = ['Black Sea', 'Caribbean Sea', 'North Sea', 'Baltic Sea'];
seas.unshift('Red Sea');

console.log(seas);
[ 'Red Sea', 'Black Sea', 'Caribbean Sea', 'North Sea', 'Baltic Sea' ]

从数组末尾删除一个元素

要从数组末尾删除元素,可以使用数组的 pop() 方法:

let seas = ['Black Sea', 'Caribbean Sea', 'North Sea', 'Baltic Sea'];
const lastElement = seas.pop();
console.log(lastElement); 
Baltic Sea

从数组的开头删除一个元素

要从数组的开头删除元素,可以使用数组的 shift() 方法:

let seas = ['Black Sea', 'Caribbean Sea', 'North Sea', 'Baltic Sea'];
const firstElement = seas.shift();

console.log(firstElement);
Black Sea

查找数组中元素的索引

要查找元素的索引,您可以使用数组的 indexOf() 方法:

let seas = ['Black Sea', 'Caribbean Sea', 'North Sea', 'Baltic Sea'];
let index = seas.indexOf('North Sea');

console.log(index); // 2

检查一个值是否是一个数组

要检查一个值是否是一个数组,你可以使用 Array.isArray() 方法:

console.log(Array.isArray(seas)); // true

结论

  • 在 JavaScript ,数组是值的有序列表。每个元素都有自己的下标,下标通常成为索引。
  • 数组可以保存多种类型的元素,换句话说元素的值类型可以是任意类型。
  • JavaScript 数组是动态的,这意味着它们会根据需要增长或缩小。