简体   繁体   English

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

[英]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.

相关问题 如何将值应用于javascript中所有组合的模式? - How to apply values to pattern for all combinations in javascript? 如何在 JavaScript 中创建此对象的键/值的所有组合? - How can I create all combinations of this object's keys/values in JavaScript? Javascript-如何根据深度嵌套的数字对嵌套对象中的值进行排序? - Javascript - How to sort values in a nested object, based on a number deeply nested? 如何使用JavaScript根据另一个数组值过滤对象数组? - How to filter array of object based on another array values using javascript? 如何根据 Javascript 中的值动态创建 object 字段? - How to create object fields dynamically based on values in Javascript? 如何根据 javascript 中的值获取匹配的数组 object - How to get matched array object based on their values in javascript 如何使用 JavaScript 根据相等的键值对 json object 进行分组 - How to group a json object based on the equal key values using JavaScript 如何基于Javascript中的对象键从对象数组添加对象值 - How to add object values from an object array based on an object key in Javascript 根据特定键值对javascript对象重新排序 - Reorder javascript object based on specific key values 根据条件汇总javascript分组对象中的值 - Aggregate values in a javascript grouped object based on conditions
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM