我有两个数组
let arr1 = [{a: 1, b: 2}, {a: 3, b: 4}]
let arr2 = [{c: 5}, {c: 6}]我正在尝试创建一个新数组,以便将arr1中的每个值映射到arr2中的每个值。就像这样,
[1-2-5, 1-2-6, 3-4-5, 3-4,6]我知道这可以使用两个for循环来完成。一个在arr1上循环,另一个嵌套在arr2上循环。但我正在寻找一种廉价而有效的方法来做到这一点。任何帮助都将不胜感激!提前谢谢。干杯!
发布于 2021-10-29 14:29:17
您可以使用map()来实现这一点。
let arr1 = [{a: 1, b: 2}, {a: 3, b: 4}]
let arr2 = [{c: 5}, {c: 6}]
const result = arr1.flatMap((x) => {
return arr2.map((y) => `${x.a}-${x.b}-${y.c}`);
});
console.log(result);
因为不能在数字中使用-,所以可以选择将这些值存储在单独的数组中。
let arr1 = [{a: 1, b: 2}, {a: 3, b: 4}]
let arr2 = [{c: 5}, {c: 6}]
const result = arr1.flatMap((x) => {
return arr2.map((y) => [x.a, x.b, y.c]);
});
console.log(result);
https://stackoverflow.com/questions/69770076
复制相似问题