JavaScript 数组(Array)
在JavaScript中,数组是用来存储多个值的变量。它是一种特殊的对象,可以包含不同类型的数据,如数字、字符串、甚至其他数组或对象。
特点
- 有序集合:数组元素在数组中的位置由索引确定,索引从0开始。
- 可变大小:可以在运行时添加或删除元素。
- 元素可重复:可以包含多个相同的值。
- 异构:数组元素可以是任何类型。
创建数组
使用数组字面量
let fruits = ["Apple", "Banana", "Cherry"];
使用 new Array()
let numbers = new Array(1, 2, 3);
使用 Array
构造函数
let items = Array(5); // 创建一个长度为5的空数组
访问数组元素
通过索引访问数组元素,索引从0开始。
let fruits = ["Apple", "Banana", "Cherry"];
let firstFruit = fruits[0]; // "Apple"
修改数组元素
fruits[0] = "Orange";
// 现在数组变为 ["Orange", "Banana", "Cherry"]
数组长度
JavaScript数组有一个 length
属性,表示数组中元素的数量。
let fruits = ["Apple", "Banana", "Cherry", "Date"];
let numberOfFruits = fruits.length; // 4
添加元素
使用 push()
方法
fruits.push("Elderberry");
// 现在数组变为 ["Apple", "Banana", "Cherry", "Date", "Elderberry"]
使用 unshift()
方法
fruits.unshift("Grape");
// 现在数组变为 ["Grape", "Apple", "Banana", "Cherry", "Date", "Elderberry"]
删除元素
使用 pop()
方法
let lastFruit = fruits.pop();
// 移除最后一个元素,数组变为 ["Grape", "Apple", "Banana", "Cherry", "Date"]
使用 shift()
方法
let firstFruit = fruits.shift();
// 移除第一个元素,数组变为 ["Apple", "Banana", "Cherry", "Date"]
数组合并
使用 concat()
方法
let moreFruits = ["Fig", "Grapefruit"];
let allFruits = fruits.concat(moreFruits);
// allFruits 变为 ["Apple", "Banana", "Cherry", "Date", "Fig", "Grapefruit"]
数组遍历
使用 for
循环
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
使用 forEach()
方法
fruits.forEach(function(item) {
console.log(item);
});
搜索数组
使用 indexOf()
方法
let index = fruits.indexOf("Cherry");
if (index !== -1) {
console.log("Cherry found at index " + index);
}
使用 find()
方法
let foundItem = fruits.find(function(item) {
return item === "Banana";
});
console.log(foundItem); // "Banana"
转换数组
使用 map()
方法
let fruitLengths = fruits.map(function(item) {
return item.length;
});
// [5, 6, 6, 4]
使用 filter()
方法
let longFruits = fruits.filter(function(item) {
return item.length > 5;
});
// ["Banana", "Cherry", "Date"]
排序数组
使用 sort()
方法
fruits.sort();
// ["Apple", "Banana", "Cherry", "Date"]
使用 reverse()
方法
fruits.reverse();
// ["Date", "Cherry", "Banana", "Apple"]
其他常用方法
slice()
splice()
includes()
join()