I have this 2 dimensional array of tasks
const graph = [
['tie your shoes', 'put on your shoes'],
['put on your jacket', 'put on your shirt'],
['put on your shoes', 'put on your shorts'],
['put on your jacket', 'put on your shorts'],
['buy eggs from store', 'cook eggs'],
['heat up skillet', 'cook eggs']
]
I need to split up this graph into two separate arrays if the they have no association to each other. (i.e., putting shoes on and cooking eggs have no association/relation within the graph)
Each array within the graph
is an association of tasks. An association can be traced between two tasks if they can be traced back to a single common task - putting on your jacket can be traced back to putting on your socks
The result should look like this
const graph_1 = [
['tie your shoes', 'put on your shoes'],
['put on your jacket', 'put on your shirt'],
['put on your shoes', 'put on your shorts'],
['put on your jacket', 'put on your shorts']
]
const graph_2 = [
['buy eggs from store', 'cook eggs'],
['cook eggs', 'heat up skillet']
]
I'm not worried about sorting them at the moment - only concerned with splitting them up