2017-01-10 59 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); 
    } 
}