2017-01-10 63 views
0

这是我的数组的字符串更改数组中的“关键”的JavaScript

[ 
    {  
    "id": 2, 
    "language": { 
     "name": "English", 
     "abbreviation": "EN" 
    } 
] 

要访问language.name

function get(arrName) 
{ 
    for(var k = 0 ; k< arr.length; k++) 
    { 
     console.log(arr[k].language.name); //English 
    } 
} 

arr[k].language.name,我希望把'language'字符串作为动态的,我是从函数arrName的参数中获得它。 所以,它应该是

function get(arrName) 
{ 
    for(var k = 0 ; k< arr.length; k++) 
    { 
     var dynamicArr = '.'+arrName+'.name'; 
     console.log(arr[k]+dynamicArr); 
    } 
} 

这显示

[object Object].language.name; 

如何获得实际的数组值?

+0

乔纳森的回答是,你想什么,而是要解释你的问题,你正在尝试登录的'ARR [K]值''加代替dynamicArr'的实际阵列位置。 –

+0

在循环'console.log(arr [k] [dynamicArr] .name)中使用关联数组;'' –

回答

5

您需要像访问数组一样访问对象属性,只需使用字符串作为键。像这样:

function get(arrName) 
{ 
    for(var k = 0 ; k< arr.length; k++) 
    { 
     console.log(arr[k][arrName].name); 
    } 
}