我正在尝试编写一个涉及数组的复杂函数。这个问题涉及一个(假想的)软件包安装程序,每个软件包包含0或1个依赖项。任务是按顺序排列软件包和依赖项,以便安装成功。JavaScript中的高级数组和循环
函数应该接受一个定义依赖关系的字符串数组。每个字符串都包含一个包的名称,后跟一个冒号和空格,然后包含该包所需的任何依赖项。该程序应该按照安装顺序输出一个以逗号分隔的软件包名称列表,以便软件包的依赖性始终位于该软件包之前。
例如,
['KittenService: ','Leetmeme: Cyberportal','Cyberportal: Ice','CamelCaser: KittenService','Fraudstream: Leetmeme','Ice: ']
输入应输出
'KittenService, Ice, Cyberportal, Leetmeme, CamelCaser, Fraudstream'
我已经得到了函数向下的基本步骤等反转包和依赖性的顺序和消除结肠。但是,当涉及到像上述那样更复杂的系统时,我遇到了麻烦。谁能帮我?
我第二@charlietfl。为什么KittenService先来?为什么Ice会在Cyberportal之前出现(他们都可以在那个时候解决)。你需要一个特定的输出还是任何有效的输出? – AndyB