我正在嘗試編寫一個涉及數組的複雜函數。這個問題涉及一個(假想的)軟件包安裝程序,每個軟件包包含0或1個依賴項。任務是按順序排列軟件包和依賴項,以便安裝成功。JavaScript中的高級數組和循環
函數應該接受一個定義依賴關係的字符串數組。每個字符串都包含一個包的名稱,後跟一個冒號和空格,然後包含該包所需的任何依賴項。該程序應該按照安裝順序輸出一個以逗號分隔的軟件包名稱列表,以便軟件包的依賴性始終位於該軟件包之前。
例如,
['KittenService: ','Leetmeme: Cyberportal','Cyberportal: Ice','CamelCaser: KittenService','Fraudstream: Leetmeme','Ice: ']
輸入應輸出
'KittenService, Ice, Cyberportal, Leetmeme, CamelCaser, Fraudstream'
我已經得到了函數向下的基本步驟等反轉包和依賴性的順序和消除結腸。但是,當涉及到像上述那樣更復雜的系統時,我遇到了麻煩。誰能幫我?
我第二@charlietfl。爲什麼KittenService先來?爲什麼Ice會在Cyberportal之前出現(他們都可以在那個時候解決)。你需要一個特定的輸出還是任何有效的輸出? – AndyB