2017-02-04 45 views
0

通過JSON數據迭代這裏是JSON對象:如何使用數組鍵值

{ 
    "stats":{ 
    "ie":{ 
     "9":"y", 
     "10":"y", 
     "11":"y" 
    }, 
    "edge":{ 
     "12":"y", 
     "13":"y", 
     "14":"y" 
    }, 
    "firefox":{ 
     "15":"y", 
     "16":"y", 
     "17":"y" 
    } 
} 

有更多的數據,但這應該給你關於結構的想法。這是我的代碼:

var browsers = ["ie","edge","firefox"]; 

for (var i = 0; i < browsers.length; i++) { 
    var bStats = result.stats.browsers[i]; 
    //Do something with it... 
} 

這給了我錯誤Uncaught TypeError: Cannot read property '0' of undefined。如果我直接使用result.stats.ie等一切正常。我如何正確地遍歷所有這些數據?

回答

1

你是不是在找它包含數組屬性browserresult.stats.browsers[i]但對於一個變量屬性名稱,它可以用方括號來訪問:

var bStats = result.stats[browsers[i]];

該片段應如下證明這一點在實踐中:

var result = { 
 
    "stats":{ 
 
    "ie":{ 
 
     "9":"y", 
 
     "10":"y", 
 
     "11":"y" 
 
    }, 
 
    "edge":{ 
 
     "12":"y", 
 
     "13":"y", 
 
     "14":"y" 
 
    }, 
 
    "firefox":{ 
 
     "15":"y", 
 
     "16":"y", 
 
     "17":"y" 
 
    } 
 
} 
 
    
 
} 
 
    
 
var browsers = ["ie","edge","firefox"]; 
 

 
for (var i = 0; i < browsers.length; i++) { 
 
    var bStats = result.stats[browsers[i]]; 
 
    console.log(bStats); 
 
} 
 

相關問題