2016-03-09 144 views
0

我有一個存儲節點及其所有連接的鍵值數組。陣列看起來像這樣:耦合具有相同值的所有密鑰:

A => {C} 
B => {D} 
C => {A,F,G,H,J} 
D => {B} 
E => {F,G,H} 
F => {C,E} 
G => {C,E} 
H => {C,E} 
I => {-} 
J => {C} 
K => {-} 

我想耦合具有相同值的所有鍵。在這種情況下,F,G和H具有相同的值,以及A和J.我想將它們放入類似arr = [{F,G,H},{A,J}]的數組中;

這怎麼可以在JavaScript中完成?

+0

的詳細信息是在左手側(A,B,C ....)所有不同陣列中的值? – Magrangs

+0

是的,我很抱歉,如果大括號是混亂的,我現在編輯它們。 –

+0

當您顯示數據結構時,您可以使用實際的Javascript語法嗎?我真的不知道你目前的語法是什麼意思。另外,Javascript沒有鍵/值數組,所以也讓我感到困惑。而且,像'{A,F,G,H,J}'這樣的東西並沒有告訴我們真的是什麼,也不是'A => {C}'。 – jfriend00

回答

0

爲了解決這個問題,你需要有一個如何JavaScript的工作

看看這個代碼

var a = [] 
var b = [a] 
a.push(b) 

更深層次的信息,如果你看看b的變量,你會看到它的一個空陣列。原因是當你試圖分配a = [b] javascript會消除你在b中的值,因爲它的循環依賴。

爲了解決它,你需要以另一種方式定義ab

看看這個代碼

var c,d; 
Object.defineProperty(window,'c',{value : []}); 
Object.defineProperty(window,'d',{value : []}); 
c.push(d); 
現在,如果你看一下 c

它有一個循環依賴;

defineProperty

+0

我不認爲這回答了這個問題 – Magrangs

相關問題