我需要在程序结束时输出两个数组。
第一个数组是用户输入的内容。第二个数组应复制第一个元素的元素,并用其double替换每个其他元素。假设用户将“1,2,3,4,5”保存到第一个阵列。第二个数组应该有:“1, 4 ,3, 8 ,5”。
这是我到目前为止所拥有的。
头标签
function toDouble(modArray)
{
var modified = new Array();
for(var i = 1; i < modArray.length; i+=2)
{
modified.push(modArray[i] * 2);
}
return modified;
}
身体标签
var origArray = new Array();
var modArray = new Array();
while() //ignore the while loop part; it is working fine
{
origArray = parseInt(prompt("Enter a number: "));
document.write(origArray); //output 1
modArray.push(origArray);
}
var modified = toDouble(modArray);
document.write(modified); //output 2
我只收到加倍的数字,而不是整个数组。例如,如果我输入“1,2,3,4,5”,我只得到“4,8”作为输出。
我该如何解决这个问题?提前谢谢!
答案 0 :(得分:0)
function toDouble(modArray)
{
var modified = new Array();
for(var i = 1; i < modArray.length; i+=2)
{
modified.push(modArray[i-1]);
modified.push(modArray[i] * 2);
}
if(modified.length < modArray.length)
modified.push(modArray[modArray.length - 1]);
return modified;
}
答案 1 :(得分:0)
function toDouble(modArray) {
var modified = new Array();
for (var i = 0; i < modArray.length; i++) {
if (i % 2 == 0)
modified.push(modArray[i]);
else
modified.push(modArray[i] * 2);
}
return modified;
}
示例:
var a = [1, 2, 3, 4, 5]
toDouble(a); // output: [1, 4, 3, 8, 5]