gpt4 book ai didi

JavaScript,从多个数组中获取所有唯一的组合

转载 作者:行者123 更新时间:2023-12-03 01:45:53 25 4
gpt4 key购买 nike

我正在寻找一种从多个数组生成所有可能组合的方法。当涉及到1时,我能够找到解决方案,但是当涉及到更多时,就会出现问题。为了更容易地理解我的问题,假设我们有这两个数组: ['small','big']['red', 'green'] ,我想要得到的结果是:

小绿球小红球大绿球大红球绿球红球小球大球绿色小球>红色大球

对我来说最大的困难是弄清楚如何制作,这样每个数组就不会出现任何重复,例如:小大球绿红球

最佳答案

这是我的解决方案

let sizes = ['small', 'medium sized', 'big']
let colors = ['green', 'red', 'blue']
let objects = ['ball', 'square']

const flatten = list => list.reduce(
(a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), []
);

function uniqeCombine(...data) {

const flat = flatten(data);
return flat.reduce( (acc, v, i) =>
acc.concat(flat.slice(i+1).map( w => v + ' ' + w )),
[]);
}


console.log(uniqeCombine(sizes, colors, objects))

关于JavaScript,从多个数组中获取所有唯一的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50643977/

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