首页 > 解决方案 > JS - 将数组元素与多个其他数组元素组合

问题描述

我正在尝试将多个数组元素组合成一个数组。

为了更好地理解,假设我有 3 个看起来像这样的数组

array1 = ['test']
array2 = ['foo', 'foo_1', 'foo_2']
array3 = ['bar']

最后,我需要一个看起来像这样的单个数组。

finalArray = ['test.foo.bar', 'test.foo_1.bar', 'test.foo_2.bar'].

每个数组可能有不同的大小和长度。但想法是一样的。有点像一棵树,组合时每个数组都是另一个数组的分支。

对此的任何帮助将不胜感激,谢谢。

标签: javascriptarrays

解决方案


使用Array.map,您可以将第一个数组逐项映射到第三个数组。

const array1 = ['test'];
const array2 = ['foo', 'foo_1', 'foo_2'];
const array3 = ['bar'];

const result = array1.map((item1) => array2.map((item2) => `${item1}.${item2}`))
  .flat()
  .map((item) => array3.map((item3) => `${item}.${item3}`))
  .flat();
console.log(result);


推荐阅读