数组
在JavaScript中,数组是一种内置的、有序的数据结构,用于存储多个值(元素)。数组可以包含不同类型的数据,如数字、字符串、对象,甚至其他数组(即多维数组)。以下是JavaScript中数组的一些基本特性和操作。
创建数组
- 使用数组字面量
1let fruits = ["Apple", "Banana", "Cherry"];
- 使用
Array
构造函数
1let fruits = new Array("Apple", "Banana", "Cherry");
- 使用
Array.of
和Array
Array.of
创建一个具有可变数量参数的新数组实例,而Array
(大写)会根据参数数量和类型来决定创建数组还是单个元素。
1let fruits = Array.of("Apple", "Banana", "Cherry");
2// 等同于
3let numbers = Array(3, 4, 5); // [3, 4, 5]
访问数组元素
通过索引(从0开始)来访问数组中的元素。
1let fruits = ["Apple", "Banana", "Cherry"];
2console.log(fruits[0]); // 输出:Apple
数组长度
使用length
属性来获取数组的长度。
1let fruits = ["Apple", "Banana", "Cherry", "Date"];
2console.log(fruits.length); // 输出:4
添加和删除元素
push()
- 在数组末尾添加一个或多个元素,并返回新的长度。pop()
- 删除数组的最后一个元素,并返回被删除的元素。shift()
- 删除并返回数组的第一个元素。unshift()
- 在数组的开头添加一个或多个元素,并返回新的长度。
1let fruits = ["Apple", "Banana"];
2fruits.push("Cherry"); // ["Apple", "Banana", "Cherry"]
3fruits.unshift("Date"); // ["Date", "Apple", "Banana", "Cherry"]
4fruits.pop(); // ["Date", "Apple", "Banana"]
5fruits.shift(); // ["Apple", "Banana"]
修改数组元素
直接通过索引来修改数组中的元素。
1let fruits = ["Apple", "Banana", "Cherry"];
2fruits[1] = "Blueberry"; // ["Apple", "Blueberry", "Cherry"]
遍历数组
使用for
循环、for...of
循环或其他数组方法(如forEach
)来遍历数组。
1let fruits = ["Apple", "Banana", "Cherry"];
2for (let i = 0; i < fruits.length; i++) {
3 console.log(fruits[i]);
4}
5
6// 或者使用for...of
7for (const fruit of fruits) {
8 console.log(fruit);
9}
10
11// 或者使用forEach
12fruits.forEach((fruit) => console.log(fruit));
数组合并
使用concat()
方法合并数组。
1let fruits = ["Apple", "Banana"];
2let berries = ["Cherry", "Blueberry"];
3let allFruits = fruits.concat(berries); // ["Apple", "Banana", "Cherry", "Blueberry"]
数组切片
使用slice()
方法提取数组的某个部分。
1let fruits = ["Apple", "Banana", "Cherry", "Date"];
2let slicedFruits = fruits.slice(1, 3); // ["Banana", "Cherry"]
查找元素
使用indexOf()
或includes()
方法查找元素。
1let fruits = ["Apple", "Banana", "Cherry"];
2console.log(fruits.indexOf("Banana")); // 输出:1
3console.log(fruits.includes("Cherry")); // 输出:true
排序数组
使用sort()
方法对数组元素进行排序。
1let fruits = ["Apple", "Banana", "Cherry"];
2fruits.sort(); // ["Apple", "Banana", "Cherry"] 按字母顺序
转换数组元素
使用map()
、filter()
和reduce()
方法来转换、过滤和计算数组。
1let numbers = [1, 2, 3, 4, 5];
2let doubled = numbers.map(x => x * 2); // [2, 4, 6, 8, 10]
3let even = numbers.filter(x => x % 2 === 0); // [2, 4]
4let sum = numbers.reduce((acc, x) => acc + x, 0); // 15
数组是JavaScript中非常灵活和强大的数据结构,掌握数组的各种方法和操作对于进行有效的数据操作至关重要。