如何将所有项保存在数组函数中?Javascript

如何将所有项保存在数组函数中?Javascript,javascript,arrays,Javascript,Arrays,如何将在函数getNum()中输入的所有数字放入finalArr数组,而不移动var finalArr=[]在它所在的函数之外?目前,无论我运行脚本多少个周期,它都只显示我输入的最后一个数字 function getNum () { do { number = Number(prompt("Enter a number:")); } while (number < 0); return number; } funct

如何将在函数
getNum()
中输入的所有数字放入
finalArr
数组
,而不移动
var finalArr=[]在它所在的函数之外?目前,无论我运行脚本多少个周期,它都只显示我输入的最后一个数字

function getNum () {

     do {    
         number = Number(prompt("Enter a number:"));
     }
     while (number < 0);

     return number;

}

function finalArray () {

    var finalArr = [];
    finalArr.unshift(number);
    alert(finalArr);

    return;
}

do {
     getNum();
     finalArray();
     var no = prompt("Enter n to stop");
}
while (no != "n");
函数getNum(){ 做{ 数字=数字(提示(“输入数字”); } 而(数量<0); 返回号码; } 函数finalArray(){ var finalArr=[]; 最终取消移位(编号); 警报(最终); 返回; } 做{ getNum(); 最终结果(); var no=提示(“输入n停止”); } 而(否!=“n”);
您必须在getNum()方法中使用调用finalArry()方法,并从do循环中删除对它的调用。

为什么不使用递归函数而不是while循环

看看下面的代码:

var数组=[];
函数getNum(){
var no=提示(“输入n停止”);
如果(否=“n”){
log(“最终数组为”);
console.log(数组);
}否则{
array.push(no);
getNum();
}
}

getNum()你想用你的代码做什么?你能解释一下你的目的吗?我想把所有输入的“数字”保存到一个数组中,然后对它们进行排序。但是,我不能将任何变量放在函数之外
:为什么!?这真的会杀死它,并使您丢失在该数组中已收集的所有内容。这是用于赋值的。允许您将其保存在另一个函数中吗?我尝试了此操作,但它给出的结果与以前相同。在finalArray()方法中,使用转换此行。FinalArr.unshift(num)到这一行。finalArr.push(num)这没有什么区别。这在理想情况下是可行的,但我需要将变量保留在函数中。查看我上次的编辑。如果你不能做到这一点,你需要解释你想做什么以及为什么这些解决方案不适合你。