TypeScript循环

一、for…in

用于一组值的集合或列表进行迭代输出。

let i: any;
let oneStr: any = "str"
for (i in oneStr) {
    
    
    console.log(oneStr[i])
}
// s
// t
// r
let j: string;
let twoStr = {
    
    
    str1: "str1str1",
    str2: "str2str2"
};
for (j in twoStr) {
    
    
    console.log(j)
    console.log(twoStr[j])
}
// str1
// str1str1
// str2
// str2str2

二、for…of

循环迭代可迭代的对象

let i: any;
let oneArr: Array<any> = [1, 2, "str"];
for (i of oneArr) {
    
    
    console.log(i);
}
// 1
// 2
// str
let j: any;
let twoStr:string = "str";
for (j of twoStr) {
    
    
    console.log(j)
}
// s
// t
// r

三、forEach

let oneArr:string[] = ["a","b","c"];
oneArr.forEach((item,index,arr) => {
    
    
   console.log(item,index,arr)
})
// a 0 [ 'a', 'b', 'c' ]
// b 1 [ 'a', 'b', 'c' ]
// c 2 [ 'a', 'b', 'c' ]

三、every

oneArr.every((item, index, arr) => {
    
    
    if(index == 1) {
    
    
        return false;
    }
    console.log(item, index, arr)
    
})
// a 0 [ 'a', 'b', 'c' ]

注: 在every在迭代时可以通过返回true或false来控制迭代的继续或终止而forEach是不行的。其他循环例如:for,while等,语法等同于JavaScript

四、some

oneArr.some((item, index, arr) => {
    
    
    if(index == 1) {
    
    
        return true;
    }
    console.log(item, index, arr)
    
})
// a 0 [ 'a', 'a', 'c' ]

注: some和every控制迭代的方式正好相反,通过false或true来控制迭代的继续或终止

有问题可以在下面评论,我会为大家解答。

猜你喜欢

转载自blog.csdn.net/samxiaoguai/article/details/128340800