首页 > 解决方案 > 我可以将 map 函数与 2 个数组一起使用吗?

问题描述

我想知道是否存在任何可以做类似事情的功能

我已经尝试过 zipWith 和地图的一些变体,但没有好的结果。唯一可行的解​​决方案是 2x ForEach,但我想知道是否可以将其最小化为一个函数

_.map( (array1, array2), function(knownValue, indexOfArray1, indexOfArray2) );

我需要的是同时增加 array1 和 array 2 索引(比如:a1: 1, a2: 1; a1: 2, a2: 2; ...)。

这个数组还有其他类型的值

@编辑

我有点搞砸了。我真正想要的是让这个错误编写的代码工作

_.map( (array1, array2), (valueOfArray1, valueOfArray2), someFunction(knownValue, valueOfArray1, valueOfArray2) );

所以我的意图是:对于array1和array2元素,执行函数“someFunction”,并在下一个增量中,使用每个数组的下一个元素。

喜欢 :

_.map( (array1, array2), (array1[0], array2[0]), someFunction(knownValue, array1[0], array2[0]) );

接下来

_.map( (array1, array2), (array1[1], array2[1]), someFunction(knownValue, array1[1], array2[1]) );

但我希望它更优雅:P

PS(对不起这个烂摊子)

标签: javascriptarraysdictionaryzipwith

解决方案


这是一个例子flatMap

const arr1 = [1,3,5];
const arr2 = [2,4,6];

console.log(arr1.flatMap((x,i) =>[x, arr2[i]]))


推荐阅读