Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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,我想知道为什么我的阵列不工作。我做错什么了吗?我已经尝试了很多不同的阵列,但都不起作用。我是不是错过了什么 费用体系: 编写一个程序,询问用户的差旅费。它应该询问费用名称,然后是金额。它应该一直收取费用,直到用户将输入留空 100美元及以下的任何费用应自动批准。 任何超过100美元的费用都不应自动批准 合计已批准和未批准的费用 首先显示已批准的费用。然后显示需要手动审批的费用 显示已批准的费用总额和需要批准的费用总额 提前谢谢 //Variables var expenseName; var e

我想知道为什么我的阵列不工作。我做错什么了吗?我已经尝试了很多不同的阵列,但都不起作用。我是不是错过了什么

费用体系: 编写一个程序,询问用户的差旅费。它应该询问费用名称,然后是金额。它应该一直收取费用,直到用户将输入留空

100美元及以下的任何费用应自动批准。 任何超过100美元的费用都不应自动批准

合计已批准和未批准的费用

首先显示已批准的费用。然后显示需要手动审批的费用

显示已批准的费用总额和需要批准的费用总额

提前谢谢

//Variables
var expenseName;
var expensePrice;
var loopAgain = true;
var approvedExpenses = new Array();
var approvedExpensePrice = new Array();
var unApprovedExpenses = new Array();
var unApprovedExpensePrice = new Array();
var approvedExpenseTotal = 0;
var unApprovedExpenseTotal = 0;


while(loopAgain) {
  expenseName = prompt("What is the expense? - Type 'done' to end.");
  expensePrice = prompt("What is the price?");
  expensePrice = Number(expensePrice);
  if (expenseName === "done"){
    loopAgain = false;
  }


  for(var count = 0; count < approvedExpenses.length; count++){
    if (expensePrice < 100) {
      approvedExpenseTotal = approvedExpenseTotal + expensePrice;
      approvedExpenses[count] = expenseName;
      approvedExpensePrice[count] = expensePrice;
      }else {
        unApprovedExpenseTotal = unApprovedExpenseTotal + expensePrice;
        unApprovedExpenses[count] = expenseName;
        unApprovedExpensePrice[count] = expensePrice;
      }
  }
}

document.write("APPROVED EXPENSES:<br>");

for(var count = 0; count < approvedExpenses.length; count++){
      document.write(approvedExpenses[count] + ": ");
      document.write(approvedExpenses[count] + "\n");
    }

document.write("EXPENSES NEEDING MANUAL APPROVAL:<br>");

for(var count = 0; count < unApprovedExpenses.length; count++){
      document.write(unApprovedExpenses[count] + ": ");
      document.write(unApprovedExpenses[count] + "\n");
    }

document.write("TOTALS:<br>");

document.write("Total approved expenses: $" + approvedExpenseTotal + "<br>");
document.write("Total expenses waiting approval: $" + unApprovedExpenseTotal + "<br>");

你的程序逻辑有点奇怪=b关于为什么不显示任何内容的具体问题是,您的数组是空的

它们是空的,因为for循环没有运行

并且for循环不会运行,因为for循环中的条件基于approvedExpenses.length,它始终为零

尝试从上到下阅读代码,了解执行流程,并描绘变量的所有值。它应该揭示为什么approvedExpenses.length为零


同样在for循环中,设置值的方式可能会覆盖现有值,因为计数器总是从0开始,其中可能存在现有数据

什么是不工作?目前,你似乎在要求别人编写你的程序——试着把你的问题改写成关于数组的问题。我的意思是,当它显示出来时,数组什么都没有,数组也不能工作。我只是想有人告诉我为什么它不工作,这样我就可以修复它。不,我不希望有人写它,因为整个程序就在你眼前,但有些东西不起作用。哇,这帮了大忙!