带有 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 语句的循环的空数组的主要内容,如果未能解决你的问题,请参考以下文章