2014-12-27 74 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 
}; 
相关问题