gpt4 book ai didi

javascript - 如何从 json 数组生成键/值的每个组合?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:30:07 26 4
gpt4 key购买 nike

我有一个随机的 json 键值数组,其中值是这样的数组:

json = {foo:[1,2],bar:[3,4],pi:[5]}

我怎样才能为任意数量的键生成这些参数的每个组合,这样我就可以得到如下列表:

{foo:1,bar,3,pi:5}
{foo:1,bar:4,pi:5}
{foo:2,bar:3,pi:5}
{foo:2,bar:4,pi:5}

最佳答案

使用 reduce 并为每次迭代生成新的排列:

const json = {foo:[1,2],bar:[3,4],pi:[5, 7], test: [1]};

const results = Object.keys(json).reduce((acc, key) => {
const newArray = [];

json[key].forEach(item => {
if (!acc || !acc.length) { // First iteration
newArray.push({[key]: item});
} else {
acc.forEach(obj => {
newArray.push({...obj, [key]: item});
});
}
});

return newArray;
}, []);

console.log(results);

关于javascript - 如何从 json 数组生成键/值的每个组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47934966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com