2016-12-19 9 views
0

我有一個難題。如何在Javascript中存儲對象索引

let user = { name: 'Rahy', age: 22 } 

如果我拿user. name我會得到'Rahy',它的價值。但我想存儲用戶。名稱在另一個變量中。例如,在temp中,當我更改temp的值時,值user. name應該更改。

+1

字符串是一種值類型,值類型不隨賦值而變化。您需要引用類型才能獲得此目的 –

+1

無法完成,在JS原始類型(字符串,數字,布爾值)中按值存儲。然而,對象是通過引用來存儲的,所以你可以做'var temp = user; temp.name =「changed」,這會改變原來的'user.name'值 – dtkaias

回答

0

當您重新指定temp值時,您可以重新指定user.name值。

let user = { name: 'Rahy', age: 22 }; 
 

 
let { name: temp } = user; 
 

 
console.log(temp); 
 

 
temp = user.name = "abc"; 
 

 
console.log(temp, user.name);

0

你所問的是通過javascript參考稱爲傳遞價值。

主要想法是將temp指向user.name的位置而不是其值。但爲了達到這個目的,溫度不能是一個變量。它必須是對象的財產。

例如:

var a = {x:7 , y:7}; 
 
var b = a.x; 
 
var c = a; 
 

 
b = 5; 
 
c.y = 5; 
 

 
console.log(a.x, a.y);

在Y的變化,但x值該示例中的值保持不變。所以你必須讓temp成爲一個物體的屬性。