js数组 实现
数组创建
使用字面量直接创建数组:
const arr1 = [1, 2, 3]; // 包含数字的数组
const arr2 = ['a', 'b', 'c']; // 包含字符串的数组
通过 Array 构造函数创建:
const arr3 = new Array(3); // 创建长度为3的空数组
const arr4 = new Array(1, 2, 3); // 等同于 [1, 2, 3]
数组操作
添加/删除元素
push()在末尾添加元素:arr1.push(4); // arr1变为 [1, 2, 3, 4]pop()删除末尾元素:arr1.pop(); // 返回4,arr1变回 [1, 2, 3]unshift()在开头添加元素:arr1.unshift(0); // arr1变为 [0, 1, 2, 3]shift()删除开头元素:arr1.shift(); // 返回0,arr1变回 [1, 2, 3]
数组遍历
使用 forEach 遍历:
arr1.forEach(item => console.log(item)); // 依次输出1, 2, 3
使用 map 生成新数组:
const doubled = arr1.map(item => item * 2); // 返回 [2, 4, 6]
数组查找
includes()检查元素是否存在:arr1.includes(2); // truefind()查找符合条件的元素:const found = arr1.find(item => item > 1); // 返回2
数组转换
join()转换为字符串:arr1.join('-'); // 返回 "1-2-3"split()字符串转数组(字符串方法):'a,b,c'.split(','); // 返回 ['a', 'b', 'c']
多维数组
创建和访问多维数组:
const matrix = [[1, 2], [3, 4]];
console.log(matrix[0][1]); // 输出2
数组排序
使用 sort() 排序(默认按Unicode码点):
const nums = [3, 1, 2];
nums.sort((a, b) => a - b); // 返回 [1, 2, 3]
数组过滤
使用 filter() 筛选元素:
const filtered = arr1.filter(item => item % 2 === 0); // 返回 [2]
数组合并
使用 concat() 或扩展运算符:
const merged = arr1.concat([4, 5]); // 返回 [1, 2, 3, 4, 5]
const merged2 = [...arr1, ...arr2]; // 合并arr1和arr2
数组解构
从数组中提取值:

const [first, second] = arr1; // first=1, second=2






