程序员的知识教程库

网站首页 > 教程分享 正文

JavaScript之关联数组(关联数组和索引数组)

henian88 2024-10-01 10:48:38 教程分享 7 ℃ 0 评论

数组是对象

数组是一种特殊类型的对象。

在 JavaScript 中对数组使用 typeof 运算符会返回 “object”。

var cars = ["Saab", "Volvo", "BMW"];
console.log(typeof cars); // object

使用数字来访问元素

数组使用数字来访问其元素。

var cars = ["Saab", "Volvo", "BMW"];
console.log(cars[0]);   // Saab

在本例中,cars[0] 返回 Saab。

使用名称来访问其成员

对象使用名称来访问其成员。

var person = {
  firstName: "Marcus",
  lastName: "Rashford",
  age: 23
}
console.log(person.firstName);  // Marcus

本例中,person.firstName 返回 Marcus。

数组元素可以是元素

JavaScript 变量可以是对象。

数组是特殊的对象。

正因为如此,可以在相同数组中存放不同类型的变量。

可以在数组中保存对象,可以在数组中保存函数,甚至可以在数组中保存数组。

数组属性和方法

JavaScript 数组的真实力量隐藏在数组的属性和方法中

length 属性

JavaScript 的 Array 可以包含任意数据类型,并通过索引来访问每个元素。 要取得 Array 的长度,直接访问 length 属性:

var arr = [1, 2, 3.14, 'Manchester', null, true];
console.log(arr.length);    // 6

直接给 Array 的 length 赋一个新的值会导致 Array 大小的变化:

var arr = [1, 2, 3];
console.log(arr.length);  // 3
arr.length = 6;
console.log(arr);         // [ 1, 2, 3, <3 empty items> ]
arr.length = 2;
console.log(arr);         // [ 1, 2 ]

关联数组

很多编程元素支持命名索引的数组。

具有命名索引的数组被称为关联数组(或散列)。

JavaScript 不支持命名索引的数组。

在 JavaScript 中,数组只能使用数字索引。

var person = [];
person[0] = "Marcus";
person[1] = "Rashford";
person[2] = 23;
var x = person.length;
console.log(x);   // 3
var y = person[0];
console.log(y);   // Marcus

假如使用命名索引,JavaScript 会把数组重定义为标准对象。

之后,所有数组的方法和属性将产生非正确结果。

var person = [];
person["firstName"] = "Marcus";
person["lastName"] = "Rashford";
person["age"] = 23;
var x = person.length;
console.log(x);   // 0
var y = person[0];
console.log(y);   // undefined

数组和对象的区别

在 JavaScript 中,数组使用数字索引。

在 JavaScript 中,对象使用命名索引。

数组是特殊类型的对象,具有数字索引。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表