我试图找出如何获取我的数组
var arr = [1,2,3,4];
加倍。我已经创建了一个带有for循环的函数来打印每个数字两次,但由于某种原因" 4"被打印三次而不是两次。我试过arr.pop它,但没有任何反应。我把它放在错误的地方还是我必须做别的事?我的代码:
function start()
{
var arr = [1,2,3,4];
var doubled = doubleList(arr);
println(doubled);
}
function doubleList(arr)
{
for(var i = 0; i < arr.length; i++)
{
var cur = arr[i];
print(cur);
print(",");
print(cur);
print(",");
}
return cur;
}
我的结果:
1,1,2,2,3,3,4,4,4
答案 0 :(得分:4)
您将返回> id <- 1:5
> paste0("SELECT * FROM table WHERE ID IN (", paste0(id, collapse = ","), ")")
[1] "SELECT * FROM table WHERE ID IN (1,2,3,4,5)"
中的最后一个读取字符,然后将其打印在doubleList()
中。这就是为什么你有3次而不是2次。
start()
答案 1 :(得分:4)
打印的最后4个来自
println(doubled);
由于其他印刷语句简单print
而非println
答案 2 :(得分:3)
我的doubleList函数如下所示:
function doubleList(arr) {
var result = [];
for (var i in arr) {
result.push(arr[i]);
result.push(arr[i]);
}
return result
}
答案 3 :(得分:1)
抱歉,我很想念这个问题,这是一个优雅的ES6解决方案。
const arr = [1,2,3,4];
const double2 = arr.reduce( (res, current, index, array) => {
return res.concat([current, current]);
}, []);
console.log(double2)