Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 如何循环两个数组,并按顺序返回一个包含值的数组?_Javascript_Arrays - Fatal编程技术网

Javascript 如何循环两个数组,并按顺序返回一个包含值的数组?

Javascript 如何循环两个数组,并按顺序返回一个包含值的数组?,javascript,arrays,Javascript,Arrays,这是一个愚蠢的问题,但我很难弄明白 假设我有两个数组: let a = ["I", "a"] let b = ["have", "cat"] 我想对它们进行循环,这样我的输出将是一个数组,它将变成: let c = ["I", "have", "a", "cat"] 我试图做一个嵌套的for循环,但是,我得到了一堆奇怪的错误。我也在尝

这是一个愚蠢的问题,但我很难弄明白

假设我有两个数组:

let a = ["I", "a"]
let b = ["have", "cat"]
我想对它们进行循环,这样我的输出将是一个数组,它将变成:

let c = ["I", "have", "a", "cat"]

我试图做一个嵌套的for循环,但是,我得到了一堆奇怪的错误。我也在尝试forEach,但我收到一条错误消息,说我的数组未定义。。。所以不确定该怎么办。

一种快速方法是将数组
a
映射到,因此:

[a1,a2] ===> [[a1,b1], [a2,b2]]
并将结果阵列展平以生成:

[a1,b1,a2,b2]
演示

a=[“I”,“a”]
设b=[“have”,“cat”]
设c=[].concat(…a.map((e,i)=>[e,b[i]]);

console.log(c);//[“我”、“有”、“a”、“猫”]
谢谢!这就解决了我的问题。但是,您能解释一下为什么对数组使用扩展运算符吗?我很难理解为什么spread操作符基本上会展平数组并为我们节省一步spread操作符将
[[a1,b1],[a2,b2]
更改为
[a1,b1,a2,b2]
,基本上展平数组。有几种方法可以展平阵列;这只是其中之一。