Я пытаюсь добавить объект в 4 различных массива, как цикл.когда «тип» соответствует, первый объект должен перейти в topArray, а второй объект - в bottomArray, а третий объект - в rightArray, как цикл, а также portId также должен меняться с соответствующим массивом, например, если первый объектПри переходе к topArray portId должен быть top0 после одного цикла, пять объектов должны идти в topArray, а portId должен быть top1 и т. д. *
Вот код.
this.comps.forEach((comp) => {
arrayPorts = [];
let portlist = comp.ports;
console.log(portlist);
portlist.forEach((po) => {
switch (po.type) {
case 'rest':
let docu1 = {
"portId": "right0",
"portColor": "#ff0000",
"portname": "rest"
}
arrayPorts.push(docu1);
break;
case 'restcon':
let docu2 = {
"portId": "right0",
"portColor": "#ff8c8c",
"portname": "restcon"
}
arrayPorts.push(docu2);
break;
case 'message':
let docu3 = {
"portId": "right0",
"portColor": "#006600",
"portname": "message"
}
arrayPorts.push(docu3);
break;
case 'messagecon':
let docu4 = {
"portId": "right0",
"portColor": "#00b300",
"portname": "messagecon"
}
arrayPorts.push(docu4);
break;
case 'event':
let docu5 = {
"portId": "right0",
"portColor": "#0019ff",
"portname": "event"
}
arrayPorts.push(docu5);
break;
case 'eventcon':
let docu6 = {
"portId": "right0",
"portColor": "#9ea7ff",
"portname": "eventcon"
}
arrayPorts.push(docu6);
break;
}
})
this.components.push({
key: finalindex + 1,
name: this.reComps[comp._id].name,
id: comp._id,
version: "Ver: " + comp.version,
icon: this.reComps[comp._id].icon,
loc: "",
group: this.num,
topArray: arrayPorts,
bottomArray: [],
rightArray: [],
leftArray: [],
})
finalindex++;
}
});
comp.ports содержит массив объектов
вот окончательный результат, который мне нужен
{id: "abcd"
icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoA"
key: 10
loc: ""
name: "ABCD"
topArray: [{"portId":"top0", "portColor":"#ff0000", "portname":"rest"},{"portId":"top1", "portColor":"#ff0000", "portname":"message"}]
bottomArray: [{"portId":"bottom0", "portColor":"#ff8c8c", "portname":"event"},
{"portId":"bottom1", "portColor":"#ff0000", "portname":"message"}]
rightArray: [{"portId":"right0", "portColor":"#0019ff", "portname":"message"}]
leftArray: [{"portId":"left0", "portColor":"#ffff33", "portname":"rest"}]
version: "Ver: 10.1.0"}
Мне нужно поместить объект в цикл для этого массива (topArray, bottomArray,rightArray, leftArray) Я нахожу немного запутаться.Пожалуйста, помогите мне с этой проблемой.