合并JavaScript数组值

时间:2016-12-04 20:25:50

标签: javascript arrays

我们说我有三个数组,我想在Javascript中将它们合并为一个超级数组。我不一定知道它们的长度,是否会设置所有三个阵列。这主要是针对过滤系统。

因此,有一个类别数组,一个作者数组和一个类型数组。它们都存储了唯一的密钥。

所以...类别可能是a[max_pos][max_pos]
作者可能会[Cat1,Cat2]
类型可能是[Author7,Author8]

这将使另一个数组具有这些值

[Type9,Type11]

所以它有点类似于数组的组合。有时一个或两个数组可能为空。我可以创建一堆if语句,但必须有更好的方法。

非常感谢。

1 个答案:

答案 0 :(得分:0)

你只需要3个嵌套的foreach()循环:



var cat = ["Cat1","Cat2"];
var author = ["Author7","Author8"];
var type = ["Type9","Type11"];
var result = []

cat.forEach(x => author.forEach(y => type.forEach(z => result.push(x.concat(y).concat(z)))));
console.log(result);



 如果type为空:



var cat = ["Cat1","Cat2"];
var author = ["Author7","Author8"];
var type = [];
var result = []

cat.forEach(x => author.forEach(y => type.length === 0 ? result.push(x.concat(y)) : type.forEach(z => result.push(x.concat(y).concat(z)))));
console.log(result);