作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在程序末尾输出两个数组。
第一个数组是用户输入的内容。第二个数组应该复制第一个数组的元素,并用其 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”作为输出。
我该如何解决这个问题?预先感谢您!
最佳答案
您只需对代码进行一些更改:
function toDouble(modArray) {
var modified = modArray.slice(0); // copy the whole `modArray`
for(var i = 1; i < modified.length; i+=2) {
modified[i] *= 2; // replace the value at `i`, for every other number.
}
return modified;
}
var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
b = toDouble(a);
alert(JSON.stringify(b));
关于javascript - 如何将数组中的所有其他元素加倍?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32196349/
我是一名优秀的程序员,十分优秀!