Javascript 尝试让阵列工作
我想知道为什么我的阵列不工作。我做错什么了吗?我已经尝试了很多不同的阵列,但都不起作用。我是不是错过了什么 费用体系: 编写一个程序,询问用户的差旅费。它应该询问费用名称,然后是金额。它应该一直收取费用,直到用户将输入留空 100美元及以下的任何费用应自动批准。 任何超过100美元的费用都不应自动批准 合计已批准和未批准的费用 首先显示已批准的费用。然后显示需要手动审批的费用 显示已批准的费用总额和需要批准的费用总额 提前谢谢Javascript 尝试让阵列工作,javascript,Javascript,我想知道为什么我的阵列不工作。我做错什么了吗?我已经尝试了很多不同的阵列,但都不起作用。我是不是错过了什么 费用体系: 编写一个程序,询问用户的差旅费。它应该询问费用名称,然后是金额。它应该一直收取费用,直到用户将输入留空 100美元及以下的任何费用应自动批准。 任何超过100美元的费用都不应自动批准 合计已批准和未批准的费用 首先显示已批准的费用。然后显示需要手动审批的费用 显示已批准的费用总额和需要批准的费用总额 提前谢谢 //Variables var expenseName; var e
//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开始,其中可能存在现有数据什么是不工作?目前,你似乎在要求别人编写你的程序——试着把你的问题改写成关于数组的问题。我的意思是,当它显示出来时,数组什么都没有,数组也不能工作。我只是想有人告诉我为什么它不工作,这样我就可以修复它。不,我不希望有人写它,因为整个程序就在你眼前,但有些东西不起作用。哇,这帮了大忙!