给定以下数组:
const array1 = ["a1", "b1", "c1", "d1"],
array2 = ["a2", "b2"],
array3 = ["a3", "b3", "c3"]
是否有任何ramda函数可以简化以下场景,我可以给其中一个或多个数组?
const nestedMap = map => {
const result = []
for(let item1 of array1)
for(let item2 of array2)
for(let item3 of array3)
result.push(map(item1, item2, item3))
return result
}
整个函数如下所示:
// Sample usage
nestedMap((item1, item2, item3) => `${item1} ${item2} ${item3}`, array1, array2, array3)
我希望避免重复造轮子。
注:原生JavaScript或其他库都可以接受。我最初谈论了ramda,因为它有很多函数,也许我错过了可以在解决这个问题上有所帮助的函数
map
回调函数。我确定你不想要那样。映射函数应该保留结构。你希望结果看起来像什么? - BergiconcatMap
/chain
。 - Bergi