07-TypeScript的For循环

在传统的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

时间: 2024-08-25 21:28:21

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

File API 读取文件小结

简单地说,File API只规定怎样从硬盘上提取文件,然后交给在网页中运行的JavaScript代码. 与以往文件上传不一样,File API不是为了向服务器提交文件设计的. 关于File API不能做什么也非常值得注意.它不能修改文件,也不能创建新文件. 想保存任何数据,你可以通过Ajax把数据发送到服务器,或者把它保存在本地存储空间中. 取得文件 使用input元素.将其type属性设置为file,这样是最常见的标准上传文本框 隐藏的input元素.为了保证风格一致,可以把input元素隐藏

被其他程序员骂懒惰!不够勤奋!(程序员的一天)

这样算懒惰的程序员吗? 1)7:20醒 赖床到7:40起来刷牙洗脸. 2)8:00左右,急忙跑下楼. 路上路边摊买个肉包子1元一个,边走边吃,连奔带跑跑去车站. 老妈打来电话,正好在过红绿灯,直接挂了不接,心里烦,怎么这个时候打电话来,哪有时间接. 3)8:20左右,终于赶到BRT公交车站. 等公交,大约花费10~30分钟才可以挤上.公交车上想用手机看点新闻资讯,但是人太多,手只能拉住扶手.如果幸好有多余空间可以拿出手机上网,但是眼睛疼得受不了,一天至少16个对着屏幕,看屏幕就眼睛刺痛. 4)8

POJ——T 2406 Power Strings

http://poj.org/problem?id=2406 Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 50627   Accepted: 21118 Description Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc" and b = "def"

Linux终端里的记录器

我们在调试程序的时候,免不了要去抓一些 log ,然后进行分析. 如果 log 量不是很大的话,那很简单,只需简单的复制粘贴就好. 但是如果做一些压力测试,产生大量 log ,而且系统内存又比较小(比如嵌入式设备),那要怎么处理呢? 当然,secureCRT 和 mobaXterm 都有将日志保存到本地的功能,使用起来也是很方便.但是有些工具,比如 putty,就没这样的功能了. 这时终端里的记录器-- script 就派上用场了. 使用场景 调试会产生大量 log 的应用程序,并且需要保存到本

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

一.算法介绍 Kruskal算法是一种用来查找最小生成树的算法,由Joseph Kruskal在1956年发表.用来解决同样问题的还有Prim算法和Boruvka算法等.三种算法都是贪心算法的应用.和Boruvka算法不同的地方是,Kruskal 算法在图中存在相同权值的边时也有效.最小生成树是一副连通加权无向图中一棵权值最小的生成树(minimum spanning tree,简称MST).生成树的权重是赋予生成树的每条边的权重之和.最小生成树具有 (V – 1) 个边,其中 V 是给定图中的

MySQL count知多少

统计一个表的数据量是经常遇到的需求,但是不同的表设计及不同的写法,统计性能差别会有较大的差异,下面就简单通过实验进行测试(大家测试的时候注意缓存的情况,否则影响测试结果). 1. 准备工作 为了后续测试工作的进行,先准备几张用于测试的表及数据,为了使测试数据具有参考意义,建议测试表的数据量大一点,以免查询时间太小,因此,可以继续使用之前常用的连续数生成大法,如下: /* 创建连续数表 */ CREATE TABLE nums(id INT primary key); /* 生成连续数的存储过程,

百度房间卡是否可骄傲是快乐积分拉斯科

http://www.ebay.com/cln/ycn6646/-/167568259015/2015.02.07 http://www.ebay.com/cln/gon-n31/-/167197496017/2015.02.07 http://www.ebay.com/cln/hu_d027/-/167453250013/2015.02.07 http://www.ebay.com/cln/ywa2962/-/167301832012/2015.02.07 http://www.ebay.co

循环-07. 爬动的蠕虫

循环-07. 爬动的蠕虫(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 一条蠕虫长1寸,在一口深为N寸的井的底部.已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬.在休息的过程中,蠕虫又下滑了D寸.就这样,上爬和下滑重复进行.请问,蠕虫需要多长时间才能爬出井? 这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了.初始时,蠕虫是趴在井底的(即高度为0). 输入格

循环-07. 爬动的蠕虫(15)

1 #include<iostream> 2 using namespace std; 3 int u,d; 4 int sum(int t){ 5 if(t%2==0) 6 return (u-d)*t/2; 7 else 8 return u*(t/2+1)-d*t/2; 9 } 10 int main(){ 11 int t,n; 12 cin>>n>>u>>d; 13 for(t=1;sum(t)<n;) 14 t++; 15 cout<

2017.12.07 React组件嵌套以及for循环渲染子组件

1.嵌套组件之父组件的定义: export default class Examines extends Component{ componentWillMount() { console.log("aaaaaaaa"); var data2={ action:"queryTaskOfManager" }; Common.getData(JSON.stringify(data2),function (ret) { alert(ret); var data3={ na