main()
function main(){
let array=["a", "b", "c", "d"];
let array1=["1", "2", "3", "4"];
let array2=["A", "B", "C", "D"];
let r=cartesianProduct(array, array1, array2);
// let r=cartesianProduct(array, array1, array2);
console.log("End")
}
function cartesianProduct(...arrays){
let first=transformation(arrays[0])
for (let i = 0; i < arrays.length-1; i++) {
first=match(first,arrays[i+1]);
}
return first;
}
function match(array,container){
let returnArray=[];
array.forEach(item=>{
container.forEach(item1=>{
let n=[].concat(item)
n.push(item1);
returnArray.push(n);
})
})
return returnArray;
}
function transformation(array){
let r=[];
array.forEach(item=>{
let r1=[];
r1.push(item);
r.push(r1);
})
return r;
}
js实现笛卡尔积
最新推荐文章于 2024-04-26 16:47:03 发布