如何将所有项保存在数组函数中?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)这没有什么区别。这在理想情况下是可行的,但我需要将变量保留在函数中。查看我上次的编辑。如果你不能做到这一点,你需要解释你想做什么以及为什么这些解决方案不适合你。