javascript 如何将一个数组的第一个元素与第二个数组的第一个元素以及第一个数组的第一个元素与第二个数组的第二个元素组合

xqk2d5yq  于 2023-05-27  发布在  Java
关注(0)|答案(2)|浏览(276)

我有两个不同长度的数组,每个数组中的项目数是动态的。我想把一个数组的第一个元素和第二个数组的第一个元素组合起来,把第一个数组的第一个元素和第二个数组的第二个元素组合起来,以此类推。例如:
第一个数组是['a','b','c']第二个数组是['1','2]
最后,我需要的结果看起来像这样:

['a-1','a-2','b-1','b-2','c-1','c-2]
ntjbwcob

ntjbwcob1#

你可以尝试使用flatMap()来迭代array1的每个元素,并在array2上使用map()

const arr1 = ['a', 'b', 'c'];
const arr2 = ['1', '2'];

const resArray = arr1.flatMap(item1 =>
  arr2.map(item2 => `${item1}-${item2}`)
);

console.log(resArray); //["a-1","a-2","b-1", "b-2","c-1","c-2"]

你也可以使用for循环来实现这个结果:

const arr1 = ['a', 'b', 'c'];
const arr2 = ['1', '2'];
const resArray = [];
for (let i = 0; i < arr1.length; i++) {
  for (let j = 0; j < arr2.length; j++) {
    const elem = arr1[i] + '-' + arr2[j];
    resArray.push(elem);
  }
}
console.log(resArray); //["a-1","a-2","b-1", "b-2","c-1","c-2"]
q5lcpyga

q5lcpyga2#

要将第一个数组的元素和第二个数组的元素组合起来,您可以使用数组方法,如JavaScript中的mapflatMap

const firstArray = ['a', 'b', 'c'];
const secondArray = ['1', '2'];

const result = firstArray.flatMap((element) => {
  return secondArray.map((value) => `${element}-${value}`);
});

console.log(result);
//Output : [ 'a-1', 'a-2', 'b-1', 'b-2', 'c-1', 'c-2' ]

相关问题