JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – FP方式的数组嵌套映射大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
给定以下数组:
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,item3) => `${item1} ${item2} ${item3}`,array1,array2,array3)

我希望避免重新发明轮子.

注意:Vanilla javascript或任何其他库都可以接受.我最初谈到ramda,因为它有很多功能,也许我错过了哪些可以帮助解决这个问题

解决方法

您可以在此处使用数组的applicative instance来简单地使用 R.lift函数:
const array1 = ["a1","c3"]

const nestedMap = R.lift((item1,item3) => `${item1} ${item2} ${item3}`)

console.log(nestedMap(array1,array3))
<script src="https://cdnjs.cloudFlare.com/ajax/libs/ramda/0.25.0/ramda.min.js"></script>

大佬总结

以上是大佬教程为你收集整理的javascript – FP方式的数组嵌套映射全部内容,希望文章能够帮你解决javascript – FP方式的数组嵌套映射所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。