【问题标题】:empty array with loop with if statement带有 if 语句的循环的空数组
【发布时间】: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 没有意义。

标签: javascript arrays loops for-loop innerhtml


【解决方案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"; }

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 2014-02-19
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多