ts(typescript)讲解for , for...in..., for...of..., while, every, some, map, filter

for 

一般用于已知循环次数

var num:number = 5; 
var i:number; 
var factorial = 1; 
 
for(i = num;i>=1;i--) {
   factorial *= i;
}
console.log(factorial)

 

for...in...

一般用于循环对象

let keyValue:string;
let objectList:object = {
    name: '小白狼',
    age:'27',
    gender: ''
}
for(let keyValue in objectList){
    console.log(keyValue + ':' + objectList[keyValue])
}

打印结果
name:小白狼
age:27
gender:女

 

  for...of...

允许你遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代的数据结构等
let someArray = [1, "string", false];
 
for (let entry of someArray) {
    console.log(entry); // 1, "string", false
}

 

while

一般用于未知循环次数

var num = 5;
var factorial = 1;
while (num >= 1) {
    factorial = factorial * num;
    num--;
}
console.log("5 的阶乘为:" + factorial);

 

 

every

有一个false就返回false

var arr1 :Array<number>= [1, 2, 3, 4, 5, 6]; 
console.log( arr1.every( function( item, index, array ){ 
    console.log(item);
    return item > 3; 
})); 


打印结果
1
false

 

some

有一个true ,则返回true

var arr1 :Array<number>= [1, 2, 3, 4, 5, 6]; 
console.log( arr1.some( function( item, index, array ){ 
    console.log(item);
    return item > 3; 
})); 


打印结果
1
2
3
4
true

 

map

var arr = [ 1, 2, 3, 4, 5, 6 ]; 
console.log( arr.map( function( item, index, array ){ 
    console.log(item);
    return item > 3; 
})); 

打印出来的结果是:123456 函数返回结果: [false, false, false, true, true, true]

 

filter

同样返回一个新的数组,但是返回的是符合条件的数组项,同样不会跳出循环

var arr = [ 1, 2, 3, 4, 5, 6 ]; 
console.log( arr.filter( function( item, index, array ){ 
    console.log(item);
    return item > 3; 
})); 



打印的结果为1,23456 函数返回结果为[4,5,6]

 

posted on 2023-02-25 20:20  xiaobailang  阅读(1916)  评论(0)    收藏  举报