带有 if 语句的循环的空数组

Posted

技术标签:

【中文标题】带有 if 语句的循环的空数组【英文标题】:empty array with loop with if statement 【发布时间】:2019-04-14 17:10:38 【问题描述】:

我正在尝试执行以下操作并遇到一些问题: 创建一个空数组 将 2 个变量压入空数组 创建一个遍历两个变量的 for 循环 在 for 循环中编写 if/elseif 语句:

这是我的代码:

var numberArray = [ ];
numberArray.push("age", "phoneNumber");
for(var i=0; i<numberArray.length; i++) 
    if(numberArray[i] <=100)
        document.getElementById("age").innerhtml = "Age:" + "Age";
    else if(numberArray[i]>100)
        document.getElementById("phoneNumber").innerHTML = "Phone Number:" + "phoneNumber";

【问题讨论】:

这里有一些语法错误。错误控制台告诉你什么? VS Code 没有给我任何警告 如何正确地在控制台记录它? console.log(numberArray) 或 console.log numberArray[i]? 也许这只是您的 sn-p 中的一个错字,但第一行中的 看起来像是一个错误。而且您没有结束 来结束您的 for 循环。 (如果只是错字,您可以在此处编辑您的问题)。 好吧,你显然想评估你的数组元素为零,就好像它是一个Number 类型 - 但它是一个字符串"age"。这不会做你想要的,因为比较 "age"100 没有意义。 【参考方案1】:

问题:

您没有向我们展示 HTML,所以我不得不假设您使用 HTML 的方式是正确的 你推入数组字符串而不是变量,这显然违反了规范 您尝试使用您打算推送的两个值调用 push 您尝试根据元素的长度来识别元素,这在这个简单的示例中可能有效,但在实际工作中会惨遭失败,因为您有很多字段并且数字的长度不能唯一地识别它业务逻辑

var numberArray = [ ]; var age = 95; var phoneNumber = 123; numberArray.push(name: 'age', value: age, name: 'phoneNumber', value: phoneNumber); for(var i=0; i<numberArray.length; i++) if(numberArray[i].name === 'age') document.getElementById("age").innerHTML = "Age:" + "Age"; else if(numberArray[i].name === 'phoneNumber') document.getElementById("phoneNumber").innerHTML = "Phone Number:" + "phoneNumber";

【讨论】:

以上是关于带有 if 语句的循环的空数组的主要内容,如果未能解决你的问题,请参考以下文章

C# - 带有 if 语句的 Foreach 循环

在带有许多 if 语句的 for 循环中使用 continue 时性能是不是有所提高?

带有嵌套 if/else 语句的 While 循环

带有字典、列表和 If 语句的嵌套循环

带有循环的 awk if 语句

带有if和else语句的foreach循环在if语句为假时不执行else语句