JavaScript数组常用方法 - 2024最新版前端秋招面试短期突击面试题【100道】
JavaScript数组常用方法 - 2024最新版前端秋招面试短期突击面试题【100道】 📊
JavaScript 数组提供了丰富的常用方法,用于操作和管理数组数据。熟练掌握这些方法将在前端开发和面试中为你加分。以下是一些常用的数组方法及其示例。
创建数组 🛠️
new Array()
: 创建一个空数组或包含初始值的数组。Array.of()
: 创建一个包含初始值的数组,即使只有一个参数也能创建数组。Array.from()
: 将类数组对象或可迭代对象转换为数组。
示例代码
let arr1 = new Array(1, 2, 3);
let arr2 = Array.of(4, 5, 6);
let arr3 = Array.from([7, 8, 9]);
访问数组元素 👀
arr[index]
: 通过索引访问数组元素。arr.length
: 获取数组长度。arr.includes(value)
: 判断数组是否包含特定值。
示例代码
console.log(arr1[1]); // 输出 2
console.log(arr1.length); // 输出 3
console.log(arr1.includes(2)); // 输出 true
修改数组 ✏️
arr.push(value)
: 向数组末尾添加一个或多个元素,并返回新数组的长度。arr.pop()
: 删除数组末尾的元素,并返回该元素。arr.shift()
: 删除数组开头的元素,并返回该元素。arr.unshift(value)
: 向数组开头添加一个或多个元素,并返回新数组的长度。arr.splice(index, deleteCount, ...items)
: 删除或替换数组中指定位置的元素,并返回被删除的元素。arr.fill(value, start, end)
: 用指定值填充数组中指定范围的元素。
示例代码
arr1.push(4);
arr1.pop();
arr1.shift();
arr1.unshift(0);
arr1.splice(1, 1, 5);
arr1.fill(9, 1, 3);
迭代数组 🔄
arr.forEach(callback)
: 对数组的每个元素执行一次回调函数。arr.map(callback)
: 创建一个新数组,其中包含原数组每个元素执行回调函数的结果。arr.filter(callback)
: 创建一个新数组,包含原数组中所有通过测试(回调函数返回 true)的元素。arr.reduce(callback, initialValue)
: 将数组中的所有元素通过一个回调函数累加到一个初始值上,最终返回求和值。arr.some(callback)
: 测试数组中是否至少有一个元素满足测试函数的条件。arr.every(callback)
: 测试数组中的所有元素是否都满足测试函数的条件。
示例代码
arr1.forEach(value => console.log(value));
let mappedArr = arr1.map(value => value * 2);
let filteredArr = arr1.filter(value => value > 3);
let reducedArr = arr1.reduce((acc, value) => acc + value, 0);
let someArr = arr1.some(value => value > 5);
let everyArr = arr1.every(value => value > 0);
排序和搜索 🔍
arr.sort(compareFunction)
: 对数组元素进行排序,默认按照字典顺序排序。arr.reverse()
: 颠倒数组中元素的顺序。arr.indexOf(searchElement)
: 返回数组中第一个与指定值相等的元素的索引,如果不存在则返回 -1。arr.lastIndexOf(searchElement)
: 返回数组中最后一个与指定值相等的元素的索引,如果不存在则返回 -1。
示例代码
arr1.sort();
arr1.reverse();
let index = arr1.indexOf(2);
let lastIndex = arr1.lastIndexOf(3);
其他方法 🛠️
arr.copyWithin(target, start, end)
: 将数组的一部分复制到另一个位置。arr.concat(...items)
: 创建一个新数组,包含原数组和其他数组的所有元素。arr.slice(start, end)
: 返回数组中指定范围的元素,不改变原数组。arr.join(separator)
: 将数组元素连接成一个字符串,并使用指定的分隔符分隔。arr.flat(depth)
: 展平嵌套数组,depth 指定展开的深度。arr.flatMap(callback)
: 对数组每个元素执行回调函数,并使用 map 和 flat 的组合结果创建一个新数组。
示例代码
let copiedArr = arr1.copyWithin(1, 2, 3);
let concatenatedArr = arr1.concat(arr2);
let slicedArr = arr1.slice(1, 3);
let joinedArr = arr1.join(", ");
let flattenedArr = arr1.flat();
let flatMappedArr = arr1.flatMap(value => [value, value * 2]);
注意事项 ⚠️
- 数组方法分为修改原数组和创建新数组两种。
- 选择合适的方法需要根据实际情况和需求。
- 建议熟悉数组方法的参数和返回值,以便在开发中灵活运用。
掌握这些数组方法将极大提升你在前端开发中的效率与能力,也将为你的面试加分!祝你早日成功!