// 数组对象的排列组合
const handleCombine = (arr, index, key) => {
const results = []
const result = []
doExchange(arr, index)
function doExchange(arr, index) {
for (let i = 0; i < arr[index].length; i++) {
result[index] = arr[index][i][key]
if (index !== arr.length - 1) {
doExchange(arr, index + 1)
} else {
results.push(result.join(','))
}
}
}
return results
}
使用
[
[
{
key: '红'
},
{
key: '白'
},
{
key: '黑'
},
{
key: '蓝'
}
],
[
{
key: '37'
},
{
key: '38'
},
{
key: '39'
}
]
]
console.log(handleCombine(arr, 0, 'key'))