[英]how to implement combinations in JavaScript based on object values?
I'm trying to write a function to give permutations given an array of data like this:我正在尝试编写一个函数来给出这样的数据数组的排列:
var selectedData={
selectedAccount:"a1,a2",
selectedYear:"2019,2018",
selectedProduct:"p1,p2",
}
I'd like a result like:我想要这样的结果:
[
{
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",
},
]
I've been struggling with some type of recursive function no luck!我一直在努力使用某种类型的递归函数,但没有运气! can anyone give ideas to acheive above result任何人都可以提出想法来实现上述结果
Thanks in advance提前致谢
Just create nested for
loops, like this:只需创建嵌套的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.