javascript - 如何使用两个字符串数组来构建一个将它们组合在一起的数组?

标签 javascript arrays

我有一个部件号数组,['PCI-33', 'GG-34', 'GG-32']

我有一系列区域,['UK', 'US', 'CA', 'MX']

我正在尝试组合这两个数组,这样我就可以得到这样的结果:

['PCI-33-UK', 'GG-34-UK', 'GG-32-UK', 'PCI-33-US', 'GG-34-US', ... , 'GG-32-MX']

这样做的有效方法是什么?

最佳答案

使用2个嵌套Array#map创建组合两个数组,并应用 Array#concat压平结果:

var strs1 = ['PCI-33', 'GG-34', 'GG-32'];
var strs2 = ['UK', 'US', 'CA', 'MX'];

var result = [].concat.apply([], strs1.map(function(str1) {
  return strs2.map(function(str2) {
    return str1 + '-' + str2;
  });
}));

console.log(result);

ES6 版本使用 Array#concat 和 spread syntax展平子阵列,和一个template literal创建字符串。

var strs1 = ['PCI-33', 'GG-34', 'GG-32'];
var strs2 = ['UK', 'US', 'CA', 'MX'];

var result = [].concat(...strs1.map((str1) => strs2.map((str2) => `${str1}-${str2}`)));

console.log(result);

关于javascript - 如何使用两个字符串数组来构建一个将它们组合在一起的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45225341/

相关文章:

javascript - 在字符串的每次出现处添加标签

javascript - 创建 "Hovercards"

javascript - Cypress 包含 if/else 条件语句

arrays - 在快速机器学习中分配数组无法将类型 '[[String]]' 的值分配给类型 'String?'

c - 如何在不使用 strcpy 函数的情况下将所有字符(包括 '\0' )从一个数组复制到另一个数组?

javascript - 附加元素的 jQuery FadeIn

javascript - Soundcloud 自定义播放器动态添加和播放歌曲

arrays - 按字符串相等性排序,然后按 Swift 3 中的数字排序

javascript - 无法在 JavaScript 中访问内部 json 数组,但可以通过控制台记录完整的 json

c - 尝试将数组写入文件时检测到堆栈粉碎错误