繁体   English   中英

如何根据对象值在 JavaScript 中实现组合?

[英]how to implement combinations in JavaScript based on object values?

我正在尝试编写一个函数来给出这样的数据数组的排列:

 var selectedData={
        selectedAccount:"a1,a2",
        selectedYear:"2019,2018",
        selectedProduct:"p1,p2",

    }

我想要这样的结果:

[
    {
        selectedAccount: "a1",
        selectedYear: "2018",
        selectedProduct: "p1",
    },
    {
        selectedAccount: "a1",
        selectedYear: "2018",
        selectedProduct: "p2",
    },
    {
        selectedAccount: "a1",
        selectedYear: "2019",
        selectedProduct: "p1",
    },
    {
        selectedAccount: "a1",
        selectedYear: "2019",
        selectedProduct: "p2",
    },
    {
        selectedAccount: "a2",
        selectedYear: "2018",
        selectedProduct: "p1",
    },
    {
        selectedAccount: "a2",
        selectedYear: "2018",
        selectedProduct: "p2",
    },
    {
        selectedAccount: "a2",
        selectedYear: "2019",
        selectedProduct: "p1",
    },
    {
        selectedAccount: "a2",
        selectedYear: "2019",
        selectedProduct: "p2",
    },
]

我一直在努力使用某种类型的递归函数,但没有运气! 任何人都可以提出想法来实现上述结果

提前致谢

只需创建嵌套的for循环,如下所示:

 let selectedData = { selectedAccount: "a1,a2", selectedYear: "2019,2018", selectedProduct: "p1,p2", }; let result = []; for (let selectedAccount of selectedData.selectedAccount.split(",")) { for (let selectedYear of selectedData.selectedYear.split(",")) { for (let selectedProduct of selectedData.selectedProduct.split(",")) { result.push({ selectedAccount, selectedYear, selectedProduct }); } } } console.log(result);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM