在传统的JavaScript中,关于循环,可以有两种方式,一种是forEach,一种是for。

forEach的用法如下:

var sarr=[1,2,3,4];
sarr.desc="hello";
sarr.forEach(value=>console.log(value));

上述forEach循环主要存在两个问题,第一个问题是新加入的值会被忽略掉,另一个问题主要的问题是不能使用break跳出循环。

for的用法如下:

for(var n in sarr){
console.log(n);//访问到属性名(key)
console.log(sarr[n]);//访问到属性值(value)
}

上述for循环可以访问到新加入的值,但是仍然不能使用break跳出循环。

在TypeScript中,可以使用 for of来实现循环,这种实现循环的主要好处是可以通过break控制循环的跳出,用法如下:

for(var m of sarr){
if(m>2) break;
console.log(m);
}

for of除了能够遍历数组和集合外,还可以遍历一个字符串:

for(var z of "caojian"){
console.log(z);
}

欢迎加入QQ群讨论:573336726

07-TypeScript的For循环的更多相关文章

  1. python学习之while循环

    Python While 循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语 ...

  2. File API 读取文件小结

    简单地说,File API只规定怎样从硬盘上提取文件,然后交给在网页中运行的JavaScript代码. 与以往文件上传不一样,File API不是为了向服务器提交文件设计的. 关于File API不能 ...

  3. js遍历json数据

    先看看json返回的数据结构: 我需要遍历取出bookreno   与  title  加载到页面容器中去 首先我要取到 recommendedBookList  字典结构数据,然后遍历反射到相应对象 ...

  4. Linux终端记录神器

    我们在调试程序的时候,免不了要去抓一些 log ,然后进行分析.如果 log 量不是很大的话,那很简单,只需简单的复制粘贴就好.但是如果做一些压力测试,产生大量 log ,而且系统内存又比较小(比如嵌 ...

  5. 老男孩全栈python学习进程表

     老男孩Python高级全栈开发工程师-1  0001.开学典礼_ALEX简介  00:55:53 ☆  0002.职业生涯_来培训的目的  01:12:29 ☆  0003.课程目标  00:29: ...

  6. POJ——T 2406 Power Strings

    http://poj.org/problem?id=2406 Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 50627   ...

  7. MySQL count知多少

    统计一个表的数据量是经常遇到的需求,但是不同的表设计及不同的写法,统计性能差别会有较大的差异,下面就简单通过实验进行测试(大家测试的时候注意缓存的情况,否则影响测试结果). 1. 准备工作 为了后续测 ...

  8. Linux命令nohup实现命令后台运行并输出到或记录到日志文件

    Linux命令nohup实现命令后台运行并输出到或记录到日志文件 导读 我们在调试程序的时候,免不了要去抓一些 log ,然后进行分析.如果 log 量不是很大的话,那很简单,只需简单的复制粘贴就好. ...

  9. 查找最小生成树:克鲁斯克尔算法(Kruskal)算法

    一.算法介绍 Kruskal算法是一种用来查找最小生成树的算法,由Joseph Kruskal在1956年发表.用来解决同样问题的还有Prim算法和Boruvka算法等.三种算法都是贪心算法的应用.和 ...

  10. HowToDoInJava 其它教程 1 · 翻译完成

    原文:HowToDoInJava 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. ApacheCN 学习资源 目录 Maven 教程 如何在 ...

随机推荐

  1. [BZOJ4872][六省联考2017]分手是祝愿

    BZOJ Luogu sol 首先发现肯定有解,又因为每个位置至多操作一次,所以最优解一定是在\([0,n]\)之间 有一种可以在\(O(\sum_{i=1}^{n}\lfloor\frac{n}{i ...

  2. Bzoj4237:稻草人

    题面 传送门 Sol \(CDQ\)分治 先对\(x\)排序,对\(y\)在\(CDQ\)分治是从大到小排序 从大到小加入,右边用单调栈维护\(x\)递增,\(y\)递减的序列 左边就是找到\(x\) ...

  3. 【HNOI2011】数学作业

    分段矩乘即可 # include <stdio.h> # include <stdlib.h> # include <iostream> # include < ...

  4. 动态增加表单元素并获取元素的text和value提交

    以上是效果图 需求是这样的: 专家设置好条件,然后设备检测到达到相应的条件之后,设备发出提醒给用户. 这就需要专家设置好能看懂的条件之后,然后把给专家看的,正常人能看懂的条件和发送的设备的,设备能够识 ...

  5. Unity如何管理住Android 6.0 调皮的权限

    前天我们项目有这么个需求,台湾版本由于要上谷歌Play要求安卓系统6.0以上的动态申请权限,对于一个做Unity的来说,是不是有点懵逼,这我该何去何从呢?我想静静,静静的想一想,权限也不就那么点事吗? ...

  6. 安装anaconda与tensorflow

    在安装Anaconda之前,有的已经安装过一个Python版本了,但是又不想删除这个Python版本,该怎么办呢? 安装anaconda与tensorflow一条龙 jupyter notebook ...

  7. ubuntu14.04行更新软件包

    ubuntu14.04行更新软件包 headsen  chen   2017-10-12 16:01:34 apt-get update对应的就是第一步. apt-get upgrade 与apt-g ...

  8. freemarker的classic_compatible设置,解决报空错误

    前段时间接触freemaker时,本来后端写各接口运行正常,但加入了模板后,频繁报空指针问题,整了许久,最后还是请教了别人解决了这个问题,现在记录下来,方便以后碰到了可以查阅. 错误样例如下: ERR ...

  9. 【吐槽向】iOS 中的仿射变换

    什么是仿射变换矩阵 CGAffineTransform 实际上就是一个用于绘制 2D 图形的的仿射变换矩阵.仿射变换矩阵用于旋转.缩放.平移.扭曲(skew)在图形上下文中绘制的对象.CGAffine ...

  10. RACSignal的一些常用用法

    NSData + RACSupport.h @interface NSData (RACSupport) // Read the data at the URL using -[NSData init ...