2014-12-27 72 views
-1

所以我有一個名爲xyz的數組,其中包含鍵a和b。 我想輸入這些到另一個數組如下:另一個對象的值作爲Javascript中另一個關聯數組中的值

seats =[{ 
     name : xyz.a. 
     address: xyz.b}]; 

然而xyz.a被存儲爲對象,而不是通過它在seats.name和值打印未定義當我使用的console.log

我想通過其值存儲xyz.a使得seats.name給出存儲在xyz.a

+0

要閱讀它,你應該'seat [0] .name'(假設語法錯誤是拼寫錯誤)。或者使用'seat = {name:xyz.a,address:xyz.b};' – Oriol 2014-12-27 20:56:44

+0

@Oriol它讀取undefined – Amrita 2014-12-27 20:57:48

+0

Try seats.name [0] – QMaster 2014-12-27 21:07:10

回答

1

JavaScript沒有變量引用或別名。當您將變量分配給另一個變量或對象時,它將在賦值時獲取其值,但不會保留指向原始位置的鏈接。

如果你想要的東西,總是得到一個變量的當前值,你必須使用的函數:

seats = [ { 
    name: function() { return xyz.a; }, 
    address: function() { return xyz.b; } 
}]; 

,那麼你會調用該函數來得到你想要的東西:

seats[0].name(); 
0

假設xyz值是像

var xyz = { 
    a: 'foo', 
    b: 'bar' 
}; 
對象

然後,您可以使用

var seats = { 
    name: xyz.a, 
    address: xyz.b 
}; 
相關問題