最近一直在对数据处理,循环匹配之类的,我的mentor也已经多次指出一个问题,就是在循环里面用if去判断一个数值是否存在的时候,只要找到就要退出,这个时候就要对循环的语法提出了要求;

1.for in 在我的印象里,从一开始接触for in就是用它来遍历一个对象,但是现在在使用的时候,好多时候也用在了array的处理上,结果也是正确的,但是刚刚发现了一个帖子是这样的问题

  for (var index in myArray) {} 此时,index是一个string类型的字符串,不能直接对index进行运算,只能通过转换类型;

   其次,文章指出,for in 在循环的时候有时候是无序的循环(这个我目前还没有遇到问题,无序的我还没有考虑过)

   最后,不能使用break;

2.foreach

  ES5中出现的比较稳定的,循环遍历对象的时候经常用到这个用于替代for,但是有一点,它也不支持break,这有时候就尴尬了,只能乖乖的换成for循环(表示已经改了2次这样的问题,虽然结果都是对的,但是加break提高了效率,避免了无用的循环)

3.for of

  for of这个是刚刚发现的新大陆,感觉它包含了以上他们所有的优点(也有不足),它主要作用于数组,类数组对象,甚至也可以用在字符串上,最可以的是可以添加break,continue,return,总的来说,它是可以遍历数组中数据的(数据可以为单值)。

文档说现在火狐是支持,谷歌也是支持,但是需要自己设置

(当前所有的Firefox releases版本都支持for-of循环。如果你想在Chrome中使用,到chrome://flags设置“Experimental JavaScript”为“开启”即可。微软的Spartan浏览器支持它,但是IE不支持。如果你想要在Web中使用这些新语法且不用考虑支持IE和 Safari,你可以使用Babel或者谷歌的Traceur这样的编译器将你的ES6代码转换成兼容性友好的ES5)

准备在接下来的项目中使用这个for Of一次,看看效果到底怎么样,要是截止目前谷歌或者Safari还是不支持,那就又要改了,还是试试再说吧!

循环数据forin,foreach,for of的更多相关文章

  1. for循环、for-in、forEach、for-of四大循环

    平时自己在写一些小栗子的时候,用到的基本上是for循环,因为在学专业课(C,C++,JAVA,...)的时候用的最多的就是for循环,不过for循环的效率也是比较高的. 但是for循环在写的时候,涉及 ...

  2. python 循环结构(for-in)

    循环结构(for-in) 说明:也是循环结构的一种,经常用于遍历字符串.列表,元组,字典等 格式: for x in y: 循环体 执行流程:x依次表示y中的一个元素,遍历完所有元素循环结束 示例1: ...

  3. js forEach参数详解,forEach与for循环区别,forEach中如何删除数组元素

     壹 ❀ 引 在JS开发工作中,遍历数组的操作可谓十分常见了,那么像for循环,forEach此类方法自然也不会陌生,我个人也觉得forEach不值得写一篇博客记录,直到我遇到了一个有趣的问题,我们来 ...

  4. vue标签内循环数据逗号分隔

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. React(4) --引入图片及循环数据

    引入图片的方法 1.引入本地图片 方法1: import logo from '../assets/images/1.jpg'; <img src={logo} /> 方法2: <i ...

  6. JavaScript里的循环方法之forEach,for-in,for-of

    JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标 ...

  7. JavaScript里的循环方法:forEach,for-in,for-of

    JavaScript诞生已经有20多年了,我们一直使用的用来循环一个数组的方法是这样的: for (var index = 0; index < myArray.length; index++) ...

  8. for for-in foreach 循环

    var a = [1, 2, 3, 4, 5] //for用来便利数组元素非常简单 for (var i = 0; i < a.length; i++) { console.log(a[i]) ...

  9. 就for循环VS for-in循环

    这种模式的问题在于每次循环迭代的时候都要访问数据的长度.这样会使代码变慢,特别是当myarray不是数据,而是HTML容器对象时. HTML容器是DOM方法返回的对象,如: document.getE ...

随机推荐

  1. Script 简单语句的练习题

    猜拳 <body>请输入剪刀或者石头或者布:<br /><input type="text" id="A"/><inp ...

  2. linux 循环处理文件夹下所有文件脚本

    #!/bin/bashfunction ergodic(){ for file in ` ls $1 ` do if [ -d $1"/"$file ] then ergodic ...

  3. 【转】ini载入保存类,操作INI配置文件方便的很

    /****************************************************************** * * ^_^ 恶猫 独门商标 挖哈哈 * * QQ:\> ...

  4. javascript实现图片滚动

    闲来无事捣鼓了一个原来的js图片滚动 首先看看 静态页的结构: <body> <a href="javascript: le()">向左</a> ...

  5. 转 一个典型的 C++ 程序员成长经历:

    1.  完整的学一遍 C++ 所有语言特性,典型书籍 "The C++ Programming Language" Part1, Part2, "C++ Primer&q ...

  6. 01 Node.js简介, 安装&配置

    Node.js 简介 Node.js 是什么 Node.js 有着强大而灵活的包管理器(node package manager,npm) 目前, 已经有强大第三方工具模块, 例如数据库连接, 网站开 ...

  7. Android 实现闪屏页和右上角的倒计时跳转

    效果图: 闪屏页用到了handler和CountDownTimer类,还需配置一下Activity的主题,这里是:android:theme="@android:style/Theme.No ...

  8. thinkphp下载远程图片到本地

    $url="http://www.test.com/test.jpg";//图片远程地址 $local="./Upload/test/test.jpg";//下 ...

  9. 根据屏幕的宽度使用不同的css-文件

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  10. C:上台阶

    总时间限制: 1000ms 内存限制: 65536kB描述楼梯有n(100 > n > 0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算共有多少种不同的走法. ...