Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中不使用for循环的等效函数?_Javascript_Arrays_For Loop_Map Function - Fatal编程技术网

在Javascript中不使用for循环的等效函数?

在Javascript中不使用for循环的等效函数?,javascript,arrays,for-loop,map-function,Javascript,Arrays,For Loop,Map Function,在不使用for循环的情况下,它的等效性是什么 不确定使用什么数组方法 function func(x){ var y = []; for(i=0;i<x.length;i++){ y.push(x[i]); y.push(x[i]); } return y; } var input = [1,2,3,4,5,6]; console.log(func(input));// returns [1,1,2,2,3,3,4,4,5

在不使用for循环的情况下,它的等效性是什么

不确定使用什么数组方法

function func(x){
    var y = [];
    for(i=0;i<x.length;i++){
        y.push(x[i]);
        y.push(x[i]);
    }
    return y;
}

var input = [1,2,3,4,5,6];

console.log(func(input));// returns [1,1,2,2,3,3,4,4,5,5,6,6]
函数func(x){ 变量y=[];
对于(i=0;i两个列表之间没有一对一的映射。但是,可以使用下划线实现相同的映射,例如:

_.flatten(_.map(input, function(item) {
  return [item, item];
}));


您无法直接映射,但可以将其缩减为新的扩展阵列:

arr.reduce((prev, curr) => prev.concat([curr, curr]), []);
这是没有ES6箭头功能的:

arr.reduce(function(prev, curr) { return prev.concat([curr, curr]); }, []);

我确信否决票是有道理的,但是我能收到关于如何改进这个问题的反馈吗?我没有否决票,但是没有使用
.map()
和对
.map()的任何基本描述的研究
的工作原理,甚至看看MDN polyfill的工作原理都会告诉您,使用
.map()
是无法实现这一点的。然后,您会发现,两个答案似乎无法用
.map()解决问题
独自一人。看起来你只是在寻求一种更简洁的方式来实现你的目标,应该从你的问题中删除
.map()
部分,因为这不是一个开始,显然也不是一个要求。有道理,谢谢,编辑问题以不指定映射函数。对于下划线细节,请使用nice answer+1
arr.reduce(function(prev, curr) { return prev.concat([curr, curr]); }, []);