前端开发 大前端 W3Cbest

一个专注 WEB 开发的技术博客

0%

JavaScript数组

简介:在本教程中,您将了解JavaScript数组类型及其一些独特的特性。

JavaScript数组简介

在 JavaScript 中,数组是有序的数据列表。与其他编程语言(如Java,C / C ++等)的数组相比,数组具有以下特殊特性。

  • 首先,数组可以在每个槽中保存不同类型的数据,即数组可以保存具有数字,字符串,对象等的混合的元素。
  • 其次,数组的长度是动态调整大小和自动增长的。

创建JavaScript数组

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

var scores = new Array();

该scores 数组为空即,它不包含任何元素。 如果您知道数组将包含的元素数,则可以创建一个具有初始大小的数组,如以下示例所示:

var scores = Array(10);

要使用初始元素创建数组,可以在Array()构造函数中将元素作为逗号分隔列表传递。以下示例创建scores包含五个数字的数组:

var scores = new Array(9,10,8,7,6);

重要的是要注意,如果使用数组构造函数创建数组并传入数字,则需要创建一个具有初始大小的数组。但是,如果传入另一个类型的一个参数,则创建一个包含该元素的数组。 请参阅以下示例:

var athletes = new Array(3); // creates an array with initial size 3
var scores = new Array(1, 2, 3); // create an array with three numbers 1,2 3
var signs = new Array(‘Red’); // creates an array with one element ‘Red’

JavaScript 允许您new在使用数组构造函数时省略运算符。例如,以下语句创建artists数组。

var artists = Array();

第二种方式,也许是更优选的方式,创建一个数组是使用数组文字表示法,如下所示:

var array_name = [element1, element2, element3];

数组文字形式使用方括号[]来包装逗号分隔的元素列表。例如,以下语句创建三种颜色的colors数组:

var colors = [‘red’, ‘green’, ‘blue’];

可以使用空方括号创建一个空数组。

var emptyArray = [];

以下示例创建一个包含两个未定义元素的数组。

var nonEmptyArry = [,,];
console.log(nonEmptyArray); // [undefined, undefined]

访问 JavaScript 数组元素

您可以使用方括号[]访问数组的元素。数组的第一个元素以0开头,第二个元素以1开头,依此类推。 例如,以下示例创建一个包含三个字符串的数组。

var mountains = [‘Everest’, ‘Fuji’, ‘Nanga Parbat’];

以下语句显示如何访问mountains数组的元素。

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

要更改数组中元素的值,可以使用为该元素赋值,如下所示:

mountains[2] = ‘K2’;

数组的大小

数组使用length属性来存储它保存的当前元素数。您可以访问获取length属性的值,如以下示例所示。

console.log(mountains.length); // 3

该length属性是可写的,因此您可以 通过更改属性的值来插入或删除元素length。 如果将length属性设置为大于数组中元素数的值,则新元素将添加初始值undefined。 例如,我们将mountains数组的length属性更改为4,那么数组末尾将会附加一个初始值为undefined的元素。

// append 1 element
mountains.length = 4;
console.log(mountains[3]); // undefined

类似地,下面的示例将mountains数组的length属性设置为2,那么将会删除数组的最后两个元素。当我们访问数组的第三个元素时,它返回undefined。

// remove the last 2 elements
mountains.length = 2;
console.log(mountains[2]); // undefined

请注意,JavaScript 数组可容纳的最大元素数为4,294,967,295,足以满足典型应用程序的要求。

数组的基本操作

所有数组都是该Array类型的实例。因此,数组变量的typeof返回object如下例所示:

var seas = [‘Black Sea’, ‘Caribbean Sea’, ‘North Sea’, ‘Baltic Sea’];
console.log(typeof seas); // object

要检查变量是否为数组,可以使用Array.isArray()方法进行检测:

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

当您调用数组的toString()和valueOf()方法时,您将获得一个以逗号分隔的元素列表表示的字符串,如以下示例所示:

console.log(seas.toString()); // Black Sea,Caribbean Sea,North Sea,Baltic Sea
console.log(seas.valueOf());

如果要以不同的方式使用数组的字符串表示形式,可以使用join()方法。 以下示例使用join()方法返回mountains数组的字符串表示形式。但是元素由()字符分隔。

console.log(seas.join(‘’));
// Black SeaCaribbean SeaNorth SeaBaltic Sea

如果数组的元素是null或undefined时,toString(), valueOf()以及join()将其视为得到的字符串中一个空字符串。这是一个例子。

var mixedValues = [1, 2, null, ‘A’, undefined, 3];
console.log(mixedValues.toString()); // 1,2,,A,,3

现在您应该对JavaScript数组及其一些独特的特性有基本的了解。

坚持技术创作分享,您的支持将鼓励我继续创作!