我有一個ActionScript 3數組,列出項目配對是這樣的:轉換列表
pairs[0] = Array('ItemA', 'ItemB'); pairs[1] = Array('ItemA', 'ItemC'); pairs[2] = Array('ItemC', 'ItemD'); pairs[3] = Array('ItemC', 'ItemE'); pairs[4] = Array('ItemF', 'ItemG'); pairs[5] = Array('ItemF', 'ItemH');
,我需要循環陣列上以某種方式找到所有重疊對(任何共享公共對的對)。
例如,ItemA
與ItemB
和ItemC
配對,因此它們屬於一個羣組。 ItemC
也與ItemD
和ItemE
配對,所以它們也需要成爲第一組的一部分。
ItemF
,ItemG
和ItemH
不與第一組中的任何項目重疊,所以它們需要被放入他們自己的組中。
產生的陣列將需要是這樣的:
groups[0] = Array('ItemA', 'ItemB', 'ItemC', 'ItemD', 'ItemE'); groups[1] = Array('ItemF', 'ItemG', 'ItemH');
感謝您的幫助和建議!
編輯:
一回故事的一點點;我試圖將2D中彼此重疊的影片剪輯分組在一起,以創建組或羣集(可能是更好的詞)。
所以如果我在舞臺上有3個影片剪輯並且ClipA與ClipB重疊並且ClipB與ClipC重疊(但是ClipA不直接與ClipC重疊),它們應該全部組合在一起,因爲它們都是同一個集羣的一部分。這樣一個新的剪輯應該與羣集中的任何單個項目重疊,它將被添加到該羣組的數組中。
我已經得到了代碼,找出產生這對列表的重疊元素,現在我需要將它壓縮成整齊的組。
可能有所幫助:基本上我想做的這個完全相反(http://stackoverflow.com/questions/3770362/split-array-into -unique對),但在AS3(不是PHP)。雖然如果解決方案是用PHP提供的,我可能很容易將其應用到AS3中。 – Levi 2010-11-29 07:06:04