一:基本用法
1、forEach()
函数用于对数组中的每个元素执行给定的函数,而它不返回任何值,它只是对每个元素调用传入的函数。这个函数可以接受三个参数:当前元素的值、当前元素的索引和整个数组。
const arr = [1, 2, 3];
arr.forEach((value, index, array) => {
console.log(value, index, array);
});
// 输出:1 0 [1, 2, 3]
// 2 1 [1, 2, 3]
// 3 2 [1, 2, 3]
2、map()
函数也用于对数组中的每个元素执行给定的函数,但它返回一个新的数组,其中包含该函数的返回值。传入函数的参数和forEach()
一样,但返回值被添加到新的数组中。
const arr = [1, 2, 3];
const newArr = arr.map((value, index, array) => {
return value * 2;
});
console.log(newArr); // 输出 [2, 4, 6]
3、filter()方法迭代数组中的所有元素,并返回满足指定条件的元素的新数组。它接受一个回调函数,该回调函数接受三个参数:当前元素,当前元素的索引和原始数组。回调函数在数组的每个元素上执行,并将返回值作为一个布尔值。如果回调函数返回值为true
,则该元素将会被添加到新的数组中,否则将被排除。
filter
方法不改变原始数组。
二:区别
1、forEach()
和map()
的主要区别在于它们的返回值。forEach()
不返回任何值,而map()
返回一个新数组,其中包含了传入函数的返回值。
2、在 JavaScript 的 forEach
方法中,是无法直接修改遍历的数组元素的,因为 forEach
方法中的回调函数在遍历数组时是只读的,也就是说,它们不能修改原数组元素的值。如果你需要修改数组元素,可以使用 map
方法来创建一个新数组,或者使用 for
循环来遍历数组并直接修改元素的值。
3、filter适合用于过滤掉一部分数据文章来源:https://www.toymoban.com/news/detail-454311.html
一句话总结,forEach适合读取每项,map适合改变每项,filter适合过滤掉一部分项文章来源地址https://www.toymoban.com/news/detail-454311.html
到了这里,关于JS中Array的forEach、map、filter方法区别?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!