JavaScript数组Array详解:创建、读写与基础

需积分: 9 0 下载量 148 浏览量 更新于2024-08-05 收藏 19KB MD 举报
"JavaScript数组Array的基础知识" 在JavaScript中,数组是一种特殊的对象,它允许存储多个值在一个单一的变量中,通过索引来访问这些值。数组的索引通常是整数,但在内部,这些数字索引会被转换为字符串,因为JavaScript对象的属性名必须是字符串。这种特性使得JavaScript数组在某些情况下效率较低,因为它不具备传统数组的连续内存空间优势。 ### 8.1 数组基础 #### 8.1.1 创建数组 创建数组有两种主要方法: 1. 使用`Array`构造函数: ```javascript var colors1 = new Array(); // 定义空数组 var colors2 = new Array(20); // 定义长度为20的数组 ``` 2. 使用数组字面量表示法: ```javascript var colors = ['red', 'blue', 'green']; // 直接指定数组元素 var names = []; ``` 通常推荐使用数组字面量`[]`,因为这种方式更简洁,执行效率也更高。 #### 8.1.2 读写数组 **写入**:使用`[]`操作符将数据赋给数组: ```javascript var nums = []; nums[0] = 1; // 通过[]操作符赋值 for (var i = 0; i < 100; ++i) { nums[i] = i + 1; } ``` **读取**:同样使用`[]`操作符读取数组中的元素: ```javascript var h = 0; var arr6 = new Array({x: 1, y: 2}); // 示例数组 h = arr6[0].x; // 读取数组第一个元素的属性x ``` ### 8.1.3 数组方法和属性 JavaScript数组拥有很多内置的方法,如`push()`(向数组末尾添加元素)、`pop()`(删除并返回数组最后一个元素)、`shift()`(删除并返回数组第一个元素)、`unshift()`(在数组开头添加元素)、`slice()`(返回数组的一部分浅拷贝)、`concat()`(合并数组)、`join()`(将数组转换为字符串)等。 此外,还有用于检查数组的属性,如`length`(返回数组长度)和`toString()`(将数组转换为字符串)。数组还有其他高级方法,如`forEach()`(遍历数组每个元素并执行函数)、`map()`(创建新数组,其结果是调用提供的函数后的数组元素)、`filter()`(根据提供的函数创建新数组,仅包含函数返回值为`true`的元素)等。 ### ES6 中的新特性 - **Array.from()**:用于从类数组对象或可迭代对象创建一个新的数组实例。可以接受一个映射函数作为第二个参数,对新数组的每个元素应用该函数。 - **Array.of()**:接收一组参数,并将其转换为数组。与使用`new Array()`不同,它不会混淆单个非数值参数和数组长度。 例如: ```javascript let arrayLike = { 0: 'a', 1: 'b', length: 2 }; let arrayFromArrayLike = Array.from(arrayLike); let arrayWithArgs = Array.of('c', 'd', 'e'); ``` ### 总结 JavaScript中的数组虽然在概念上类似于其他语言的数组,但由于其基于对象的特性,具有一定的灵活性但牺牲了效率。了解其特性和常用方法是进行JavaScript开发的基础。正确使用数组方法和属性,可以有效提高代码的可读性和性能。