2017-03-16 126 views
1

應該是一個簡單的答案,可能是我的語法不正確,因爲我是ReactJS的新手。我想分配一個唯一的ID作爲關鍵。Javascript設置uniqueId()作爲數組鍵值

這將引發一個錯誤:

rows:{ 
    uniqueId() : { name:"Kitchen Remodel", value:20100 }, 
    uniqueId() : { name:"Basement Remodel", value:8300 } 
} 

這不?請解釋...

rows:{ 
    143434 : { name:"Kitchen Remodel", value:20100 }, 
    984578 : { name:"Basement Remodel", value:8300 } 
} 

謝謝!

+1

對象的_The陣列一個東西_?您可以使用'[uniqueId()]'使您的示例在新的和現代的JS中工作,以便對鍵的名稱進行評估,但我並不真正瞭解您的目標是什麼。 –

+0

這個問題似乎沒有什麼特定的ReactJS,它似乎已經有一些答案在這裏:http://stackoverflow.com/questions/2274242/using-a-variable-for-a-key-in- a-javascript-object-literal –

+0

糖果感謝,這個問題似乎是關鍵。 – Paul

回答

2

ES6,你可以使用像這樣的函數調用或變量屬性名稱:

rows:{ 
    [uniqueId()] : { name:"Kitchen Remodel", value:20100 }, 
    [uniqueId()] : { name:"Basement Remodel", value:8300 } 
} 
+0

我認爲有一些語法問題。我正在使用ES6,這是一個很好的解決方案。 – Paul

0

當您聲明像這樣的對象時,無法評估左手邊。

你可能想要做申報/分配如下圖所示

var row = {}; 
row[unique_id()] = { name:"Kitchen Remodel", value:20100 }; 
row[unique_id()] = { name:"Basement Remodel", value:8300 }; 
+0

我明白了。我不知道它不能被評估,這是非常有意義的。感謝您的解釋。 – Paul

+0

這是一個比React(庫)更多的JS(語言)現象。你可能想編輯/更新你的問題。 –

+0

我不確定這是否是uniqueId()函數的問題。 – Paul