数组与对象
数组基础
学习数组创建、索引、遍历、增删改
数组基础
数组是 JavaScript 最常用的数据结构,掌握它至关重要。
学完本章你将: 学会创建、访问、遍历、修改数组。
创建数组
javascript
// 字面量(推荐)
let fruits = ["apple", "banana", "orange"];
// 构造函数
let nums = new Array(1, 2, 3);
let empty = new Array(5); // [empty × 5]
// Array.from 和 Array.of
let chars = Array.from("hello"); // ["h","e","l","l","o"]
let mixed = Array.of(1, "a", true); // [1, "a", true]
访问与修改
javascript
let colors = ["红", "绿", "蓝"];
// 索引访问
console.log(colors[0]); // "红"
console.log(colors.length); // 3
console.log(colors[colors.length - 1]); // "蓝"(最后一个)
// 修改
colors[1] = "黄";
console.log(colors); // ["红", "黄", "蓝"]
// 长度可动态变化
colors[5] = "紫";
console.log(colors); // ["红", "黄", "蓝", empty × 2, "紫"]
添加与删除
javascript
let stack = [];
// 末尾操作
stack.push("A", "B"); // 添加 → ["A", "B"]
let last = stack.pop(); // 移除并返回末尾 → "B"
// 开头操作
stack.unshift("C"); // 开头添加 → ["C", "A"]
let first = stack.shift(); // 开头移除 → "C"
// splice 万能操作
let arr = [1, 2, 3, 4, 5];
arr.splice(2, 1); // 从索引2删1个 → [1,2,4,5]
arr.splice(1, 0, "a"); // 在索引1插入 → [1,"a",2,4,5]
arr.splice(3, 2, "x"); // 从索引3删2个插入1个 → [1,"a",2,"x"]
遍历数组
javascript
let items = ["apple", "banana", "orange"];
// for 循环
for (let i = 0; i < items.length; i++) {
console.log(i, items[i]);
}
// for...of(推荐)
for (let item of items) {
console.log(item);
}
// forEach(函数式)
items.forEach((item, index) => {
console.log(`${index}: ${item}`);
});
// for...in(不推荐遍历数组)
for (let i in items) {
console.log(i); // "0" "1" "2"(字符串key)
}
查找与检查
javascript
let arr = [10, 20, 30, 40];
console.log(arr.indexOf(20)); // 1
console.log(arr.includes(50)); // false
console.log(arr.find(x => x > 25));// 30(第一个匹配)
console.log(arr.findIndex(x => x > 25)); // 2
// some / every
console.log(arr.some(x => x > 35)); // true
console.log(arr.every(x => x > 5)); // true