网站首页 > 技术文章 正文
1、ForEach
循环遍历数组中的每个元素并执行回调函数。
const arr = [1, 2, 3];
arr.forEach(num => console.log(num));
// Console: 1, 2, 3
2、Map
循环遍历数组中的每个元素并执行回调函数。使用回调函数的返回值创建一个新数组。
const arr = [1, 2, 3, 4, 5];
const areEven = arr.map(num => num % 2 === 0);
console.log(areEven); // Console: [false, true, false, true, false]
3、Filter
循环遍历数组中的每个元素,并仅选择符合条件的元素。根据所选元素返回一个新数组。
const arr = [1, 2, 3, 4, 5];
const evenNumbers = arr.filter(num => num % 2 === 0);
console.log(evenNumbers); // Console [2, 4]
4、Find
查找数组中满足条件的第一个元素。如果没有找到,将返回 undefined。
const arr = [1, 2, 3, 4, 5];
const firstEvenNumber = arr.find(num => num % 2 === 0);
console.log(firstEvenNumber); // Console [2]
5、FindIndex
与前面的方法类似,它返回满足给定条件的第一个元素的索引。如果没有找到,则返回 -1。
const arr = [1, 2, 3, 4, 5];
const firstEvenNumberIdx = arr.findIndex(num => num % 2 === 0);
console.log(firstEvenNumberIdx);
6、Reduce
这是一种高级方法,可用于组合数组的元素。主要区别在于回调将累加器作为第一个参数。回调的返回值成为下一次迭代的累加器。
const arr = [1, 2, 3, 4, 5];
// `acc` is the value of the accumulator
// the acccumulator is return value of the previous callback
// the second argument i.e `0` is the default value
const sum = arr.reduce((acc, num) => acc + num, 0);
console.log(sum); // Console: 15
7、Every
此方法接受一个返回布尔值的回调。如果条件对数组中的所有元素都有效,那么 Every() 将返回 true。
const arr = [1, 2, 3, 4, 5];
const areAllEven = arr.every(num => num % 2 === 0);
console.log(areAllEven); // Console: false
8、Some
像前面的方法一样,这个方法也接受一个返回布尔值的回调。如果条件对至少一个元素有效,Some() 将返回 true。
const arr = [1, 2, 3, 4, 5];
const isOneEven = arr.some(num % 2 === 0);
console.log(isOneEven); // true
9、 Sort
这是一种用于对数组中的元素进行排序的方法。
默认情况下,它按升序对数组进行排序。它需要一个回调函数,有两个元素——a 和 b。如果 a 小于 b,则返回 -1,否则返回 1。
如果它们相等,则返回 0。
const arr = [1, 2, 3, 4, 5];
const descendingArr = arr.sort((a, b) => b - a);
console.log(descendingArr);
请记住,与其他数组方法不同,sort 会改变数组。
10、Flat
Flat 用于将嵌套数组展平为单个数组。您可以指定将数组展平的深度。
const arr = [[[1, 2], [3]], [4, 5]];
const flattenedArr = arr.flat(4);
console.log(flattenedArr); // Console [1, 2, 3, 4, 5]
11、 Reverse
反转数组中元素的顺序。
const arr = [1, 2, 3, 4, 5];
const reversedArr = arr.reverse();
console.log(reversedArr); // Console [5, 4, 3, 2, 1]
12、Include
如果数组中存在元素,则此方法返回 true。
const arr = [1, 2, 3, 4, 5];
console.log(arr.includes(5)); // true
console.log(arr.includes(10)); // false
13、Fill
fill 方法将数组的元素设置为给定值。当我想使用 map/forEach 方法特定次数时,我喜欢使用此方法。
const emptyArr = new Array(5);
// The problem with this is that you get `[empty x 10]`
// You need real values to map over it.
const filledArr = emptyArr.fill(3); // Console [3, 3, 3, 3, 3]
14、At
此方法返回给定索引的元素。这与访问(即 arr[1])元素的传统方式之间的区别在于它也支持负索引。
const arr = [1, 2, 3, 4, 5];
console.log(arr.at(1)); // 2
console.log(arr.at(-1)); // 5
// Important: Negative indices start from `1`, positive indices start from `0`.
15、 Concat
此方法用于组合两个数组。
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [6, 7, 8, 9, 10];
console.log(arr1.concat(arr2)); // Console [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- 上一篇: JavaScript 中搜索数组元素的四种方法
- 下一篇: 3种JavaScript 对象转数组的方法
猜你喜欢
- 2025-01-13 【JS 数组分类】多场景实现数组分类
- 2025-01-13 JavaScript数组之map、filter、reduce使用详解
- 2025-01-13 帮你精通JS:解析与盘点数组array的5类22种方法
- 2025-01-13 JS几种数组遍历方式以及性能分析对比
- 2025-01-13 JS数组过滤元素的方法
- 2025-01-13 js中的数组拷贝(浅拷贝,深拷贝)
- 2025-01-13 js常用数组API方法汇总
- 2025-01-13 JS怎么实现有序数组合并?
- 2025-01-13 JavaScript数组剖析
- 2025-01-13 JavaScript重构技巧—数组,类名和条件
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- js数组插入 (83)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)