数组是 JavaScript 中最基本的数据结构之一。使用数组,您可以在单个变量中存储多个值。 JavaScript 提供了许多内置方法来操作数组,使它们具有令人难以置信的通用性。在这篇文章中,我们将探讨所有内置数组方法以及如何在 JavaScript 项目中有效地使用它们。
forEach() 方法允许您迭代数组并为数组中的每个元素执行一次提供的函数。这是循环数组的简单方法。
const array = [1, 2, 3, 4, 5]; array.forEach((element) => { console.log(element); });
map() 方法创建一个新数组,其中填充了对数组中每个元素调用所提供函数的结果。它通常用于转换数据。
const array = [1, 2, 3, 4, 5]; const doubled = array.map((element) => element * 2); console.log(doubled); // [2, 4, 6, 8, 10]
filter() 方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。当您需要根据条件从数组中过滤掉某些元素时,它非常有用。
const array = [1, 2, 3, 4, 5]; const evenNumbers = array.filter((element) => element % 2 === 0); console.log(evenNumbers); // [2, 4]
reduce()方法对数组的每个元素执行reducer函数,产生单个输出值。它通常用于对值求和、累加总计或将数组合并为单个值。
const array = [1, 2, 3, 4, 5]; const sum = array.reduce((accumulator, currentValue) => accumulator currentValue, 0); console.log(sum); // 15
find() 方法返回数组中满足所提供的测试函数的第一个元素的值。它在找到第一个匹配项后停止。
const array = [1, 2, 3, 4, 5]; const found = array.find((element) => element > 3); console.log(found); // 4
findIndex() 方法返回数组中满足所提供的测试函数的第一个元素的索引。如果没有元素满足测试函数,则返回-1。
const array = [1, 2, 3, 4, 5]; const index = array.findIndex((element) => element > 3); console.log(index); // 3
sort() 方法对数组的元素进行就地排序并返回排序后的数组。它通常用于对字符串和数字进行排序,但可能需要比较函数才能正确对数字进行排序。
const array = [5, 3, 8, 1, 2]; const sortedArray = array.sort((a, b) => a - b); console.log(sortedArray); // [1, 2, 3, 5, 8]
reverse() 方法就地反转数组的元素。第一个数组元素成为最后一个,最后一个成为第一个。
const array = [1, 2, 3, 4, 5]; const reversedArray = array.reverse(); console.log(reversedArray); // [5, 4, 3, 2, 1]
concat()方法用于合并两个或多个数组。它返回一个新数组,保持原始数组不变。
const array1 = [1, 2, 3]; const array2 = [4, 5, 6]; const concatenatedArray = array1.concat(array2); console.log(concatenatedArray); // [1, 2, 3, 4, 5, 6]
slice() 方法将数组的一部分浅拷贝返回到从头到尾(不包括 end)选择的新数组对象中。
const array = [1, 2, 3, 4, 5]; const slicedArray = array.slice(1, 4); console.log(slicedArray); // [2, 3, 4]
splice() 方法通过删除、替换或添加元素来更改数组的内容。
const array = [1, 2, 3, 4, 5]; array.splice(2, 1, 6, 7); console.log(array); // [1, 2, 6, 7, 4, 5]
push() 方法将一个或多个元素添加到数组末尾并返回数组的新长度。
const array = [1, 2, 3]; array.push(4, 5); console.log(array); // [1, 2, 3, 4, 5]
pop() 方法从数组中删除最后一个元素并返回该元素。
const array = [1, 2, 3, 4, 5]; const lastElement = array.pop(); console.log(lastElement); // 5 console.log(array); // [1, 2, 3, 4]
shift() 方法从数组中删除第一个元素并返回该元素。
const array = [1, 2, 3, 4, 5]; const firstElement = array.shift(); console.log(firstElement); // 1 console.log(array); // [2, 3, 4, 5]
unshift() 方法将一个或多个元素添加到数组的开头并返回数组的新长度。
const array = [2, 3, 4, 5]; array.unshift(1); console.log(array); // [1, 2, 3, 4, 5]
join() 方法通过连接数组中的所有元素(以逗号或指定的分隔符字符串分隔)来创建并返回一个新字符串。
const array = [1, 2, 3, 4, 5]; const joinedString = array.join('-'); console.log(joinedString); // "1-2-3-4-5"
every() 方法测试数组中的所有元素是否通过提供的测试函数。
const array = [2, 4, 6, 8]; const allEven = array.every((element) => element % 2 === 0); console.log(allEven); // true
some() 方法测试数组中至少一个元素是否通过提供的测试函数。
const array = [1, 2, 3, 4, 5]; const hasEven = array.some((element) => element % 2 === 0); console.log(hasEven); // true
flat() 方法创建一个新数组,其中所有子数组元素递归地连接到其中,直到指定的深度。
const array = [1, [2, [3, [4]]]]; const flattenedArray = array.flat(2); console.log(flattenedArray); // [1, 2, 3, [4]]
flatMap() 方法首先使用映射函数映射每个元素,然后将结果展平到一个新数组中。它是map()和flat()的组合。
const array = [1, 2, 3, 4]; const flattened = array.flatMap((num) => [num, num * 2]); console.log(flattened); // [1, 2, 2, 4, 3, 6, 4, 8]
fill() 方法用静态值填充数组中从起始索引到结束索引的所有元素。
const array = [1, 2, 3, 4, 5]; array.fill(0, 2, 4); console.log(array); // [1, 2, 0, 0, 5]
copyWithin() 方法将数组的一部分浅拷贝到同一数组中的另一个位置,而不修改其长度。
const array = [1, 2, 3, 4, 5]; array.copyWithin(0, 3, 5); console.log(array); // [4, 5, 3, 4, 5]
includes() 方法检查数组是否包含某个值。
const array = [1, 2, 3, 4, 5]; const hasThree = array.includes(3); console.log(hasThree); // true
toString()方法将数组转换为字符串,字符串之间用逗号分隔。
const array = [1, 2, 3, 4, 5]; const arrayString = array.toString(); console.log(arrayString); // "1,2,3,4,5"
indexOf() 方法返回在数组中可以找到给定元素的第一个索引,如果不存在则返回 -1。
const array = [1, 2, 3, 4, 5]; const index = array.indexOf(3); console.log(index); // 2
lastIndexOf() 方法返回在数组中可以找到给定元素的最后一个索引,如果不存在则返回 -1。
const array = [1, 2, 3, 4, 3, 5]; const lastIndex = array.lastIndexOf(3); console.log(lastIndex); // 4
Array.from() 方法从类似数组或可迭代对象创建一个新的数组实例。
const array = Array.from('hello'); console.log(array); // ['h', 'e', 'l', 'l', 'o']
Array.isArray()方法检查传递的值是否是数组。
const array = [1, 2, 3, 4, 5]; const notArray = { a: 1, b: 2 }; console.log(Array.isArray(array)); // true console.log(Array.isArray(notArray)); // false
Array.of() 方法创建一个具有可变数量元素的新数组实例。
const array1 = Array.of(1, 2, 3); const array2 = Array.of('a', 'b', 'c'); console.log(array1); // [1, 2, 3] console.log(array2); // ['a', 'b', 'c']
JavaScript 数组具有多种内置方法,可以进行强大的数据操作。了解这些方法将使您更有效地编写干净简洁的代码。花一些时间尝试这些方法,看看它们如何改进您的代码。
最初发布:JavaScript 数组方法指南
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3