JavaScript 中forEach()的用法_第1页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论