在本教程中,您将了解 JavaScript 数组及其基本操作。
JavaScript 数组简介
在 JavaScript ,数组包含多个值,这些值在数组是有序的列表。值在数组中称为元素,每个元素都有自己的下标,下标通常成为索引。
JavaScript 数组具有以下特点:
- 首先,数组元素可以多种类型的值。例如,您可以使用一个数组来存储类型为数字、字符串、布尔值和 null 的元素。
- 其次,数组的大小是动态的并且会自动增长。换句话说,您不需要预先指定数组大小。
创建 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 数组是动态的,这意味着它们会根据需要增长或缩小。