Z
ZHANK
数组与对象

数组基础

学习数组创建、索引、遍历、增删改

数组基础

数组是 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