Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 打印带有验证号的三角形_Javascript - Fatal编程技术网

Javascript 打印带有验证号的三角形

Javascript 打印带有验证号的三角形,javascript,Javascript,我有这样的代码,如果输入是字符串,我想要这样的输出“必须是数字” let a = "five"; for (let i = a; i >= 1; i--) { let output = ""; for (let j = i; j >= 1; j--) { output = j + output; } if (typeof a !== "number&qu

我有这样的代码,如果输入是字符串,我想要这样的输出“必须是数字”

let a = "five";
    for (let i = a; i >= 1; i--) {
      let output = "";
      for (let j = i; j >= 1; j--) {
        output = j + output;
      }
    
      if (typeof a !== "number") {
        console.log("must be numbers!");
      } else {
        console.log(output);
      }
    }

我的代码有问题吗?请帮忙。谢谢

在进入循环之前,您需要检查a的
类型

let a = "five";
if (typeof a !== "number") {
  console.log("must be a number")
} else {
  for (...) {...}
}

在运行for循环之前,应该检查a是否不是数字

像这样:

let a = "five";

    if (typeof a !== "number") {
        console.log("must be numbers!");
      } 
 
 else {
      for (let i = a; i >= 1; i--) {
        let output = "";

        for (let j = i; j >= 1; j--) {
           output = j + output;
        }
       console.log(output);
      }     
    }

基本上,您已经有了一个for循环,其中包括
a
,即使它还没有检查是否有故障,您也将经历一次疯狂的过山车之旅。在运行流程之前,检查是否存在可以使流程脱轨的问题(在您的情况下,是数据类型问题),这一点始终很重要。下面的代码显示了如何实现我所说的内容

让a=“五”;
如果(a!=“数字的类型”){//!=而不是!==as!==严格不相等,而!=基本上不相等(大差异)
log(“必须是数字!”);
}
否则{
对于(设i=a;i>=1;i--){
让输出=”;
对于(设j=i;j>=1;j--){
输出=j+输出;
}
控制台日志(输出);
}
}

//我假设您对编码是新手,我会说另一种检查这种情况的方法是isNaN(varName)。如果返回true,则varName不是一个数字;如果返回false,则varName是一个数字
您的第一个for循环将不会执行,因为您已初始化
i=a
“five”>=1
为false。