之前,讨论了 JavaScript 中内置的一些数据类型,如字符串、数字和布尔值。在本文中,将讨论两种新的数据类型:数组和对象。
数组
数组是包含在一对方括号内的值列表,以逗号分隔,如下:
const listOfNumbers = [1, 2, 3, 4, 5]; const listOfStrings = ["1", "2", "3", "4", "5"];
可以通过引用数组的索引值来访问数组中的元素,索引值从 0
开始,而不是 1
,这在计算机世界中是很常见的事情。
const x = listOfNumbers[0]; // x = 1 const y = listOfNumbers[2]; // y = 3
如果需要访问数组的最后一个元素,又不知道数组的长度怎么办?可以使用 arrayName.length
获取数组的长度,而不是尝试从 0
开始的每个索引来查看它是否有值。如下:
const z = listOfNumbers[listOfNumbers.length - 1]; // z = 5
在这个例子中,listOfNumbers.length
的长度值为 5
,在计算长度时从 1
开始。由于索引值是从 0
开始,因此最后一个元素的索引应该比长度小 1
。
同样也可以更改数组中的值,如下:
const listOfNumbers = [1, 2, 3, 4, 5]; listOfNumbers[2] = 100; console.log(listOfNumbers); // listOfNumbers
数组操作
定义好了数组之后,就可以对其进行操作了。关于数组的操作之前写过类似的文章,这里就不详细介绍。
- 《JavaScript 数组操作必须熟练运用的10个方法》
- 《悟透前端:javascript数组之includes、reduce》
- 《JavaScript 数组方法 .map() 的 5 个使用场景》
- 《JavaScript 数组展平方法: flat() 和 flatMap()》
- 《JavaScript 数组方法 slice() 的 5 个示例》
- 《JavaScript 数组方法 splice() 的 3 个示例》
- 《图解 JavaScript 数组方法》
对象
对象是使用花括号 {}
定义的任意属性的集合。例如,定义了一个名为 MyHousehold
的对象:
const MyHousehold = { members: 4, names: ["Mason", "Robert", "Lara", "Wynne"], };
大括号内是用逗号分隔的属性列表,每个属性都以 name:value
的形式定义。在上面的代码中,要访问其属性,通过其属性名来访问,如下:
console.log(MyHousehold.members); // 4
对象也是可变的,可以修改它们的值,可以通过使用 =
运算符来做到这一点,如下:
MyHousehold.members = 5; console.log(MyHousehold.members); // 5
但是,这仅适用于对象数据类型。其他数据类型的属性,如字符串、数字和数组,它们的属性是不可变的,不能修改。
对象操作
关于对象的操作和常见的问题,本文不详细介绍,可以参阅一下文章:
- 《JavaScript数据结构之Object》
- 《JS中对象处理之Object.freeze 与 Object.seal》
- 《从 Object.assign 开始了解 ES2015》
- 《JavaScript 中优雅处理对象的 6 个方法》
- 《JavaScript 中对象和映射之间的 6 个区别》