JSFiddle - React, Tailwind, and code Playground
by booktu8
JavaScript
function findNotConnection(nodes) {
let group = []
let targetIds = '';
let idGroup = null;
let junctionGroup = [];
let len = nodes.length;
(function find(data, index) {
let node = data[index][1];
let connections = node.connections
junctionGroup = junctionGroup.concat(connections)
if (index === len - 1) return false;
return find(nodes, index + 1)
}(nodes, 0));
for (let i = 0; i < junctionGroup.length; i++) {
let arr = []
let itemi = junctionGroup[i]
let suuid = itemi.suuid.slice(0, -3)
let tuuid = itemi.tuuid.slice(0, -3)
for (let j = 0; j < junctionGroup.length; j++) {
let itemj = junctionGroup[j]
let sourceId = itemj.suuid.slice(0, -3)
let targetId = itemj.tuuid.slice(0, -3)
if (tuuid === sourceId) {
arr = [suuid, tuuid, targetId]
if (targetIds === '') {
targetIds += `${suuid},${tuuid},${targetId}`;
}
arr.forEach(item => {
if (targetIds.indexOf(item) >= 0) {
targetIds += (',' + arr.join(','))
}
})
}
}
arr = null
}
idGroup = new Set(targetIds.split(','));
return idGroup
}
findNotConnection(data);