下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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江铜产融(融资租赁)第六批次社会招聘2人备考题库及答案详解【夺冠】
- 2026广西钦州市钦北区人民医院招聘医务工作人员25人笔试题库【轻巧夺冠】附答案详解
- 2026四川南充市顺庆区事业单位引进高层次人才考核招聘10人备考题库附答案详解【培优A卷】
- 公司产品设计开发全程跟进管理手册
- 《传统手工艺》课件
- DB11T583-2022扣件式和碗扣式钢管脚手架安全选用技术规程
- 2025年度华住酒店集团酒店客房布草洗涤与供应合同
- GB/T 44963-2024储粮保水技术规范
- 国家开放大学电大《生产与运作管理》期末试题题库及答案试卷代号
- 2024年红河州国有资产(持股)经营有限公司招聘笔试冲刺题(带答案解析)
- 《实验室安全教育》课件-事故急救与应急处理
- 物业工程部管理方案
- 浦发银行征信异议申请书
- 个人房屋租赁合同房屋租赁合同
- 青霉素发酵的过程控制
评论
0/150
提交评论