for和foreach的区别js(js中的 map,foreach,reduce 之间有什么区别么)

本文目录
js中的 map,foreach,reduce 之间有什么区别么
forEach: 对数组中每一个元素都运行函数,该方法没有返回值。如果你想对数据里的每一个元素进行处理,可以采用forEach来替换 for循环
map:对数组中每一个元素都运行函数, 返回由每次函数执行的结果组成的数组。果你想对数据里的每一个元素进行处理,可以采用forEach来替换 for循环,和forEach不同的是,它最终会返回一个新的数组,数组的元素是每次处理先前数组中元素返回的结果
reduce: 对数组中的所有元素调用指定的回调函数。 该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。
还是看例子来理解吧:
var arr3 = ;
// 数组中每个元素都要翻10倍
var arr4 = arr3.map(function(ele,index,arr2) {
return ele*10;
});
console.log(arr4.toString()); //10,20,90,50,40
arr3.forEach(function(ele,index,arr){
console.log("模拟插入元素到数据库:"+ele);
});
打印结果:
模拟插入元素到数据库:1
模拟插入元素到数据库:2
模拟插入元素到数据库:9
模拟插入元素到数据库:5
模拟插入元素到数据库:4
reduce的测试例子:
// Define the callback function.
function appendCurrent (previousValue, currentValue) {
return previousValue + "::" + currentValue;
}
// Create an array.
var elements = ;
// Call the reduce method, which calls the callback function
// for each array element.
var result = elements.reduce(appendCurrent);
document.write(result);
// Output:
// abc::def::123::456
for和foreach哪个效率高点
for 循环对于迭代数组和顺序处理很有用
foreach,in是针对IEnumerable和IEnumerable《T》的
如果是单纯的数组,都差不多,如果需要用到数组项的索引或要修改数组项的话就得只能用for了
对于其他的集合而言,哪个更快取决于其索引器的实现和IEnumerable或IEnumerable《T》的实现
主要按自己的需求选择,不用过于纠结性能问题,如果很在意的话强烈推荐自己做下性能测试比较下

更多文章:
dos命令清屏(Windows DOS内部命令详解04——del、ren、cls、ver、date、time)
2026年11月6日 15:40
constantly的用法及词组(英语时态对应的时间状语都有哪些)
2026年11月6日 15:20
sql2016安装后如何打开(怎么打开sql server 2016 管理工具)
2026年11月6日 15:10
arcgis怎么设置文本框样式?用JS怎么实现一个把一个文本框中的选中内容加粗,效果基本上和编辑器的加粗效果相同急需
2026年11月6日 10:50
bios setup(“Bios setup”怎么在电脑里面设置)
2026年11月6日 10:00







