在 JavaScript 中,数组是一种用于存储多个值的对象类型,可以通过各种方法进行操作。以下是一些常见的数组操作:
-
创建数组
let arr = [1, 2, 3, 4, 5]; let emptyArr = [];
-
获取数组长度
let length = arr.length; console.log(length); // 5
-
访问数组元素
let firstElement = arr[0]; // 1 let lastElement = arr[arr.length - 1]; // 5
-
添加元素
push(): 在数组末尾添加一个或多个元素arr.push(6); // [1, 2, 3, 4, 5, 6]
unshift(): 在数组开头添加一个或多个元素
arr.unshift(0); // [0, 1, 2, 3, 4, 5]
-
删除元素
pop(): 删除数组最后一个元素arr.pop(); // [1, 2, 3, 4, 5]
shift(): 删除数组第一个元素
arr.shift(); // [2, 3, 4, 5]
-
查找元素
indexOf(): 查找元素第一次出现的位置(返回索引,如果没有找到返回 -1)let index = arr.indexOf(3); // 2
includes(): 判断数组是否包含某个元素,返回 true 或 false
let hasThree = arr.includes(3); // true
-
数组遍历
forEach(): 对数组中的每个元素执行回调函数arr.forEach((element, index) => { console.log(element, index); });
map(): 创建一个新数组,数组中的元素是原数组元素调用回调函数后的结果
let doubled = arr.map(x => x * 2); // [2, 4, 6, 8, 10]
filter(): 创建一个新数组,包含通过回调函数测试为 true 的所有元素
let evens = arr.filter(x => x % 2 === 0); // [2, 4]
reduce(): 对数组中的元素执行累加操作,返回单一的结果
详细介绍:JavaScript的reduce()方法详解let sum = arr.reduce((acc, curr) => acc + curr, 0); // 15
-
数组排序
sort(): 对数组进行排序,默认按照字符排序,若需要数值排序需要传入比较函数arr.sort((a, b) => a - b); // [1, 2, 3, 4, 5]
-
数组合并
concat(): 合并两个或多个数组let newArr = arr.concat([6, 7, 8]); // [1, 2, 3, 4, 5, 6, 7, 8]
-
数组切割与拼接
slice(): 从数组中返回指定开始和结束位置之间的元素(不修改原数组)let slicedArr = arr.slice(1, 4); // [2, 3, 4]
splice(): 从数组中删除或替换元素,或者添加新元素(修改原数组)
详细用法:JavaScript的splice() 方法详解arr.splice(2, 1, 10, 11); // [1, 2, 10, 11, 4, 5]
-
转换为字符串
join(): 将数组的所有元素连接成一个字符串let str = arr.join(', '); // "1, 2, 3, 4, 5"
-
扁平化数组
flat(): 将多维数组扁平化成一维数组let nestedArr = [1, [2, 3], [4, [5, 6]]]; let flatArr = nestedArr.flat(2); // [1, 2, 3, 4, 5, 6]
-
去重
Set: 利用 Set 来去除数组中的重复元素let uniqueArr = [...new Set(arr)]; // 去除重复元素