function getMergePort(portTeamNum,portArr){
if(portTeamNum<1 || portTeamNum>10){
console.log("最终结果:",[[]])
return null
}
let newPortArr = []
let tempPortArr = Object.assign(portArr)
for(let i = 0 ; i<portArr.length; i++){
let isExist = tempPortArr.filter((item)=>{return JSON.stringify(item) == JSON.stringify(portArr[i]) })
if(isExist && isExist.length>0){
let currentPort=Array.from(new Set(portArr[i]))
let relatePort=currentPort
let repartNum = 0
let repartItem = []
for(let j = i+1 ; j<portArr.length;j++){
let nextPorts = Array.from(new Set(portArr[j]))
for(let n = 0; n<currentPort.length; n++){
let repeatePorts = nextPorts.filter((item)=>{
return currentPort[n] == item
})
if(repeatePorts && repeatePorts.length>0){
repartNum = repartNum+1
repartItem.push(nextPorts)
}
}
}
if(repartNum>=2){
for(let x = 0; x< tempPortArr.length ; x++){
for(let y = 0;y<repartItem.length;y++){
if(JSON.stringify(tempPortArr[x]) === JSON.stringify(repartItem[y])){
tempPortArr.splice(x,1)
relatePort.push(...repartItem[y])
}
}
}
}
if(relatePort && relatePort.length>0){
relatePort = Array.from(new Set(relatePort))
relatePort.sort(function(a,b){return a-b})
newPortArr.push(relatePort)
}else{
newPortArr.push(currentPort)
}
}
}
console.log("最终结果:",newPortArr)
}
getMergePort(12)