JavaScript 中的数组是一种特殊的数据类型,它可以存储一系列值,这些值可以是任意类型的。数组中的每个元素都可以通过索引来访问,索引从0开始。
数组的基本概念
什么是数组?
数组是一个数据结构,用于存储多个值在一个单一变量中。在 JavaScript 中,数组是一个动态列表,这意味着数组的长度可以根据需要增加或减少。
数组的特点
- 可变性:数组的长度和内容都可以随时改变。
- 索引:数组中的每个元素都有一个索引,索引是从0开始的整数。
- 异质性:数组中的元素可以有不同的数据类型,例如数字、字符串、对象等。
如何声明数组
在 JavaScript 中,可以通过多种方式来声明一个数组。
使用 Array 构造函数
let fruits = new Array("apple", "banana", "orange");
使用方括号 []
使用方括号 [] 是最常用的声明数组的方式。
let colors = ["red", "green", "blue"];
空数组
如果你不知道初始要存储什么,可以先创建一个空数组。
let list = [];
数组的属性和方法
length 属性
length
属性返回数组中元素的数量。
let numbers = [1, 2, 3, 4, 5]; console.log(numbers.length); // 输出 5
数组的方法
添加元素
push()
方法在数组末尾添加一个或多个元素,并返回新的长度。
let arr = [1, 2, 3]; arr.push(4); console.log(arr); // 输出 [1, 2, 3, 4]
unshift()
方法在数组开头添加一个或多个元素,并返回新的长度。
let arr = [1, 2, 3]; arr.unshift(0); console.log(arr); // 输出 [0, 1, 2, 3]
删除元素
pop()
方法删除数组最后一个元素,并返回该元素。
let arr = [1, 2, 3]; let lastElement = arr.pop(); console.log(lastElement); // 输出 3 console.log(arr); // 输出 [1, 2]
shift()
方法删除数组第一个元素,并返回该元素。
let arr = [1, 2, 3]; let firstElement = arr.shift(); console.log(firstElement); // 输出 1 console.log(arr); // 输出 [2, 3]
查找元素
indexOf()
方法返回指定值的第一个匹配项的索引。
let arr = [1, 2, 3, 2, 1]; let index = arr.indexOf(2); console.log(index); // 输出 1
includes()
方法判断数组是否包含某个值,返回布尔值。
let arr = [1, 2, 3]; let hasTwo = arr.includes(2); console.log(hasTwo); // 输出 true
遍历数组
forEach()
方法对数组中的每个元素执行一次提供的函数。
let arr = [1, 2, 3]; arr.forEach(function(item, index, array) { console.log(item * 2); }); // 输出: // 2 // 4 // 6
map()
方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后的返回值。
let arr = [1, 2, 3]; let doubled = arr.map(function(item) { return item * 2; }); console.log(doubled); // 输出 [2, 4, 6]
filter()
方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。
let arr = [1, 2, 3, 4, 5]; let evenNumbers = arr.filter(function(item) { return item % 2 === 0; }); console.log(evenNumbers); // 输出 [2, 4]
数组的嵌套
数组也可以包含其他数组作为其元素,这样的数组被称为嵌套数组。
let matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]; console.log(matrix[1][2]); // 输出 6
数组的转换
toString()
toString()
方法将数组转换为一个由逗号分隔的字符串。
let arr = [1, 2, 3]; let str = arr.toString(); console.log(str); // 输出 "1,2,3"
join()
join()
方法将数组的所有元素放入一个字符串,并返回这个字符串。你可以自定义分隔符。
let arr = [1, 2, 3]; let str = arr.join('-'); console.log(str); // 输出 "1-2-3"
数组与循环
数组非常适合与循环一起使用,这使得处理大量数据变得非常高效。
for 循环
-- -------------------- ---- ------- --- --- - --- -- -- -- --- --- ---- - - -- - - ----------- ---- - -------------------- - -- --- -- - -- - -- - -- - -- -
for...of 循环
for...of
循环简化了遍历数组的过程。
-- -------------------- ---- ------- --- --- - --- -- -- -- --- --- ---- ----- -- ---- - ------------------- - -- --- -- - -- - -- - -- - -- -
forEach() 方法
forEach()
方法为数组中的每个元素调用一次提供的函数。
-- -------------------- ---- ------- --- --- - --- -- -- -- --- --------------------------- ------ ------ - ------------------- --- -- --- -- - -- - -- - -- - -- -
总结
本章介绍了 JavaScript 数组的基础知识,包括如何声明数组、数组的常用属性和方法、如何遍历数组以及数组的嵌套和转换。掌握了这些基础知识后,你就可以在日常编程中更有效地使用数组了。