下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、javascript 中foreach()的用法foreach() foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的便利。 foreach语句是for语句的特别简化版本,但是foreach语句并不能彻低取代for语句,然而,任何的foreach语句都可以改写为for语句版本。 foreach并不是一个关键字,习惯上将这种特别的for语句格式称之为foreach语句。从英文字面意思理解foreach也就是for 每一个的意思。 await 不能用在 foreach 中:缘由:那就是 foreach 只支持同步代码。 foreach 循环无法中
2、途跳出,break 指令或 return 指令都不能奏效 foreach() 办法对数组的每个元素执行一次提供的函数。 var arr = &39;a&39;, &39;b&39;, &39;c&39; arr.foreach(function(e) console.log(e); ); /输出结果 a; b; c; foreach办法中的function回调有三个参数: 第一个参数是遍历的当前元素 (必须), 其次个参数是当前元素的索引值(可选), 第三个参数是当前元素所属的数组对象(可选) foreach(function(value,ind
3、ex,array)/ something); var arr = 1, 2, 3, 4; arr.foreach(console.log); / 等价于: var arr = 1, 2, 3, 4; for (var k = 0; k console.log(self); if (self = 2) break; ; ); /报错 2、foreach中用法return无效 首先需要确定的,挺直再for循环中用法return会报错(函数中用法for可以return),foreach中用法return不会报错,但rerutn并不会生效,我们来看个例子: let arr = 1, 2, 3, 4;
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 fi
5、nd(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) =
6、> 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初始化的数字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年临床医学检验技术题库(附答案)
- 职业培训师进阶评优考核试卷含答案
- 白酒酿造工岗前应知应会考核试卷含答案
- 病毒性疫苗生产工岗中技能理论考核试卷含答案
- 防渗墙工岗位新工艺考核试卷含答案
- 危急值报告与处理流程
- 院科两级医疗质量监督管理制度
- 2026年山东城市建设职业学院高职单招笔试化学历年参考题库含答案解析
- 2026年大学试题(计算机科学)-LABVIEW历年参考题库含答案解析
- 2026年安阳职业技术学院高职单招笔试化学历年参考题库含答案解析
- 2026年中医经典考试题库(含答案)
- 2026中国柔性显示屏折叠终端市场消费者接受度调研报告
- 2026年纪检监察业务模拟试题(含答案)
- 再喂养综合征的识别及护理进展
- 巨幼细胞性贫血诊疗专家共识(2025版)
- 2026年高考广西卷地理高考真题(试卷+解析)
- 国有企业意识形态工作责任制实施细则
- 2026-2027学年六年级上册数学期中核心考点必刷综合测试试卷
- 2026年心肺康复学习题库(含答案)
- 危化品安全5分钟(001-200期)
- 【低空经济】2026低空安全无人机反制系统建设方案
评论
0/150
提交评论