如何在JavaScript中基于对象值实现组合?

如何在JavaScript中基于对象值实现组合?,javascript,typescript,Javascript,Typescript,我正试图编写一个函数,在给定一组数据的情况下给出排列,如下所示: var selectedData={ selectedAccount:"a1,a2", selectedYear:"2019,2018", selectedProduct:"p1,p2", } 我希望得到如下结果: [ { selectedAccount: "a1", selectedYear: "2018", s

我正试图编写一个函数,在给定一组数据的情况下给出排列,如下所示:

 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",
    },
]
我一直在与某种类型的递归函数作斗争,不走运!有人能想出办法来达到上述结果吗


提前感谢

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

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

    }
让selectedData={
所选账户:“a1、a2”,
选择年份:“20192018”,
所选产品:“p1,p2”,
};
让结果=[];
for(让selectedData的selectedAccount.selectedAccount.split(“,”)){
for(让selectedData.selectedYear.split的selectedYear(“,”)){
for(让selectedData.selectedProduct.split中的selectedProduct(“,”)){
结果.推送({selectedAccount,selectedYear,selectedProduct});
}
}
}

控制台日志(结果)长度是否总是相同?@其_tayo no将有所不同,但没有固定的字段