千家信息网

JavaScript中forEach()怎么用

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要为大家展示了"JavaScript中forEach()怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"JavaScript中forEach
千家信息网最后更新 2025年01月20日JavaScript中forEach()怎么用

这篇文章主要为大家展示了"JavaScript中forEach()怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"JavaScript中forEach()怎么用"这篇文章吧。

forEach()

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。

foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。

foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为"foreach"语句。从英文字面意思理解foreach也就是"for 每一个"的意思。

await 不能用在 forEach 中:原因:那就是 forEach 只支持同步代码。

forEach 循环无法中途跳出,break 命令或 return 命令都不能奏效

forEach() 方法对数组的每个元素执行一次提供的函数。

var arr = ['a', 'b', 'c'];

arr.forEach(function(e) {

console.log(e);

});

//输出结果

a;

b;

c;

forEach方法中的function回调有三个参数:

第一个参数是遍历的当前元素 (必需),

第二个参数是当前元素的索引值(可选),

第三个参数是当前元素所属的数组对象(可选)

forEach(function(value,index,array){

    // something

  });

var arr = [1, 2, 3, 4];

arr.forEach(console.log);

// 等价于:

var arr = [1, 2, 3, 4];

for (var k = 0; k < arr.length; k++) {

console.log(array[k]);

}

var arr = [1,2,3,4];

var sum =0;

arr.forEach(function(value,index,array){

array[index] == value; //输出结果为 true

sum+=value;

});

console.log(sum);

//输出结果 10

forEach 循环无法中途跳出,break 命令或 return 命令都不能奏效

1、forEach不支持break

大家都知道,在使用for循环时可以使用break跳出循环,比如我希望找到数组中符合条件的第一个元素就跳出循环,这对于优化数组遍历是非常棒的。很遗憾,forEach并不支持break操作,使用break会导致报错。

let arr = [1, 2, 3, 4];

for (let i = 0; i < arr.length; i++) {

console.log(arr[i]);

if (arr[i] === 2) {

break;

};

};

//输出结果 1,2

arr.forEach((self, index) => {

console.log(self);

if (self === 2) {

break;

};

});

//报错

2、forEach中使用return无效

首先需要确定的,直接再for循环中使用return会报错(函数中使用for可以return),forEach中使用return不会报错,但rerutn并不会生效,我们来看个例子:

let arr = [1, 2, 3, 4];

function find(array, num) {

array.forEach((value, index) => {

if (value === num) {

return index;

};

});

};

let index = find(arr, 2);

console.log(index);

// 输出结果 undefined

上述代码想要找到数字2在数组中的索引,但return并不会起到终止代码运行并返回值的作用。

当然如果我们真的要用return返回某个值,那就只能将return操作放在函数中,而不是forEach循环中,像这样:

let arr = [1, 2, 3, 4];

function find(array, num) {

let index_;

array.forEach((value, index) => {

if (value === num) {

index_ = index;

};

});

return index_;

};

console.log(find(arr, 2));

//输出结果 1

3、forEach删除自身元素index不会被重置

还记得文章开头的问题吗,那段代码其实只会执行一次,数组也不会被删除干净,这是因为forEach在遍历跑完回调函数后,会隐性让index自增,像这样:

let arr = [1, 2, 3, 4];

arr.forEach((value, index) => {

arr.splice(index, 1);

//这里隐性让index自增加1

index++;

});

console.log(arr);

//输出结果 [2,4]

4、forEach 并不改变原数组:

let arr = [1, 2, 3, 4, 5];

let a = arr.forEach(function(value, index, arr) {

console.log(value)

//输出

})

console.log(a) //输出结果 undefined

console.log(arr.toString())//输出 1,2,3,4,5

for与forEach的区别

for循环可以使用break跳出循环,但forEach不能。

for循环可以控制循环起点(i初始化的数字决定循环的起点),forEach只能默认从索引0开始。

for循环过程中支持修改索引(修改 i),但forEach做不到(底层控制index自增,我们无法左右它)。

以上是"JavaScript中forEach()怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

循环 输出 语句 数组 结果 元素 代码 函数 参数 命令 索引 支持 内容 篇文章 特殊 三个 意思 数字 方法 版本 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 录象软件开发 无锡软件开发园 我的世界钻石商店服务器推荐 最牛服务器芯片 海宁滤靠网络技术公司 网络安全怎么远离不良信息 设置服务器每天定时重启 怎么部署生产环境到阿里云服务器 中国十大软件开发的公司 网络安全防护小技巧文章 目前主流软件开发工具包 厦门象宿网络技术有限公司 慈溪im即时通讯软件开发 代码 管理 服务器 衡阳信息网络技术学校好不好 对软件开发工作展望 域名注册后还需要一台服务器吗 海南网络技术转让报价 戏亭印象网络安全宣传周 软件开发优秀好 湖南岚鸿 以网络安全为主题的资料 戴尔服务器如何关闭安全模式 方舟专用服务器怎么开始 数据库信息返回不到页面上 思迅商云10数据库检测修复 专科软件开发就业怎样 同步本地与远程服务器代码 云服务器免费试用 浙江吾空网络技术有限公司 大数据库多表关联技巧
0