1. 添加/删除元素的方法
push()://在数组末尾添加一个或多个元素,返回数组的新长度。
const arr = [1, 2, 3];
arr.push(4); // [1, 2, 3, 4]
pop()://删除数组最后一个元素,返回删除的元素。
const arr = [1, 2, 3];
const last = arr.pop(); // last: 3, arr: [1, 2]
unshift()://在数组开头添加一个或多个元素,返回数组的新长度。
const arr = [1, 2, 3];
arr.unshift(0); // [0, 1, 2, 3]
shift()://删除数组第一个元素,返回删除的元素
const arr = [1, 2, 3];
const first = arr.shift(); // first: 1, arr: [2, 3]
splice()://从数组中添加或删除元素
const arr = [1, 2, 3, 4];
arr.splice(1, 2); // 删除从索引 1 开始的两个元素 -> [1, 4]
arr.splice(1, 0, 'a'); // 在索引 1 位置插入 'a' -> [1, 'a', 4]
2. 查找元素的方法
indexOf()://返回元素在数组中的第一个索引,如果不存在则返回 -1。
const arr = [1, 2, 3, 4];
arr.indexOf(3); // 2
includes()://判断数组是否包含某个元素,返回布尔值。
const arr = [1, 2, 3, 4];
arr.includes(2); // true
find()://返回满足条件的第一个元素,如果没有找到则返回 undefined。
const arr = [1, 2, 3, 4];
const result = arr.find(x => x > 2); // 3
findIndex()://返回满足条件的第一个元素的索引,如果没有找到则返回 -1。
const arr = [1, 2, 3, 4];
const index = arr.findIndex(x => x > 2); // 2
3. 遍历数组的方法
forEach()://对数组的每个元素执行一次提供的函数。
const arr = [1, 2, 3];
arr.forEach(item => console.log(item)); // 1 2 3
map()://创建一个新数组,数组中的每个元素是原始数组元素调用函数后的返回值。
const arr = [1, 2, 3];
const result = arr.map(x => x * 2); // [2, 4, 6]
filter()://创建一个新数组,包含所有通过函数测试的元素。
const arr = [1, 2, 3, 4];
const result = arr.filter(x => x > 2); // [3, 4]
4. 合并/分割数组的方法
concat()://合并两个或多个数组,返回合并后的新数组。
const arr1 = [1, 2];
const arr2 = [3, 4];
const result = arr1.concat(arr2); // [1, 2, 3, 4]
join()://将数组中的所有元素连接成一个字符串,并返回这个字符串。
const arr = [1, 2, 3];
const result = arr.join('-'); // "1-2-3"
slice()://返回数组中从开始索引到结束索引的子数组(不包含结束索引),不会修改原数组。
const arr = [1, 2, 3, 4];
const result = arr.slice(1, 3); // [2, 3]
5. 排序/反转数组的方法
sort()://对数组元素进行排序。
const arr = [3, 1, 4, 2];
arr.sort(); // [1, 2, 3, 4]
reverse()://反转数组中元素的顺序。
const arr = [1, 2, 3];
arr.reverse(); // [3, 2, 1]
6. 其他方法
reduce()://对数组中的每个元素执行一个提供的函数,将其结果汇总为单个值。
const arr = [1, 2, 3, 4];
const sum = arr.reduce((acc, curr) => acc + curr, 0); // 10
some()://判断数组中是否至少有一个元素通过了测试函数,返回布尔值。
const arr = [1, 2, 3];
const result = arr.some(x => x > 2); // true
every()://判断数组中是否所有元素都通过了测试函数,返回布尔值。
const arr = [1, 2, 3];
const result = arr.every(x => x > 0); // true
这些是 JavaScript 中常用的数组操作方法,了解并熟练运用这些方法能提高编写代码的效率和简洁度