数组

在JavaScript中,数组是一种内置的、有序的数据结构,用于存储多个值(元素)。数组可以包含不同类型的数据,如数字、字符串、对象,甚至其他数组(即多维数组)。以下是JavaScript中数组的一些基本特性和操作。

创建数组

  1. 使用数组字面量
1let fruits = ["Apple", "Banana", "Cherry"];
  1. 使用Array构造函数
1let fruits = new Array("Apple", "Banana", "Cherry");
  1. 使用Array.ofArray

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

添加和删除元素

  1. push() - 在数组末尾添加一个或多个元素,并返回新的长度。
  2. pop() - 删除数组的最后一个元素,并返回被删除的元素。
  3. shift() - 删除并返回数组的第一个元素。
  4. 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中非常灵活和强大的数据结构,掌握数组的各种方法和操作对于进行有效的数据操作至关重要。