Javascript “未捕获的类型错误”。“推入式阵列”;

Javascript “未捕获的类型错误”。“推入式阵列”;,javascript,arrays,push,Javascript,Arrays,Push,我试图在数组中使用.push概念,这是我尝试过的代码,在我添加之前,每件事都很顺利。在for循环中,push var百分比; 函数计算器(比尔){ 如果(账单=50和账单

我试图在
数组中使用
.push
概念,这是我尝试过的代码,在我添加
之前,每件事都很顺利。在
for
循环中,push

var百分比;
函数计算器(比尔){
如果(账单<50){
百分比=.20;
}否则,如果(账单>=50和账单<200){
百分比=.15;
}否则{
百分比=.1;
}
返回百分比*票据;
}
var票据=[250、112、45];
函数总数(){
var totalAmount=[];
var totalValue=[];
对于(i=0;i总数()我解决了它,不必要地创建了另一个for循环

var百分比;
函数计算器(比尔){
如果(账单<50){
百分比=.20;
}否则,如果(账单>=50和账单<200){
百分比=.15;
}否则{
百分比=.1;
}
返回百分比*票据;
}
var票据=[250、112、45];
函数总数(){
var totalAmount=新数组();
var totalValue=新数组();
对于(i=0;i总数()小提琴链接在这里:
totalValue=bill[i]+tip错误的原因是您正在设置
totalValue=bill[i]+tip
。其中,
bill[i]
为整数,
tip
为浮点数。因此,
totalValue
现在是一个数字变量,而不是一个数组。第19行定义了tip,任何使用
的解决方案。push
@fubar为什么要将显然只是试图求和的内容推到一个数组中?如果将
totalValue
初始化为一个
数组
不要将其转换为数字
totalValue=bill[i]+提示。这会使你的代码变慢。您可以初始化为0。例如:
var totalValue=0删除
var totalValue=new Array()和do
var totalValue=票据[i]+小费