在循环内创建两位数字

时间:2017-09-05 11:31:30

标签: angular

您好我要在for循环中创建数字,所以对于1到9之间的数字,我需要添加' 0'它变成01,02,03 ... 09,10 .... 所以我确实喜欢这个。

for (var a = 1; a < 30; a++) {
                var zero;
                if (a < 10) {
                    console.log("in if",a)
                    zero = 0;
                }else{
                    zero = ''
                }
                console.log(zero);
                this.everyMonth.push({
                    day: zero  a,
                    })
       }

此代码非常适用于1到9之间的数字,if语句和其他

中的数字

我需要的是在对象中添加这个零并获得01,02 .... 09,10,11 ... 30 有人可以通过给我样品来帮助我吗

2 个答案:

答案 0 :(得分:0)

在JavaScript中,您的变量有时可能是数字,有时是字符串。但如果你不想让自己感到困惑,这不是一个好习惯。我做了一些明确的类型更改。

由于我们使用Angular的Typescript,所以让我们对我们的类型更加小心!

此外,要将两个字符串连接在一起,您必须使用+运算符。

for (var a = 1; a < 30; a++) {
    let zero: string; // Typescript / ECMAScript syntax, preferred to the "var zero;" syntax. 
    if (a < 10) {
        zero = '0';
    } else {
        zero = '';
    }
    this.everyMonth.push({
        day: zero + a.toString(),
    });
}

您也可以缩短所有letif块,就像@Aman Jain的答案一样:

    let zero: string;
    if (a < 10) {
        zero = '0';
    } else {
        zero = '';
    }

相同
    let zero: string = a < 10 ? '0' : '';

答案 1 :(得分:0)

编写此代码,它将起作用

for (var a = 1; a < 30; a++) {
  let zero = a < 10 ? '0' : '';
  everyMonth.push({
    day: zero + a,
  })
}