2013-05-21 40 views
1

我正在讀取數據庫中的數據並將其加載到數組中。 當我打印到控制檯我得到這樣的:使用名稱中的圓點訪問數組元素

[ 
{'person.name':'name1', total:1}, 
{'person.name':'name2', total:100} 
] 

所以我遍歷它使用此代碼:

for(var i=0;i<arr.length;i++){ 
    console.log(arr[i].total); 
} 

我可以訪問總量,但我怎麼能訪問「person.name 「?

+0

這不是一個數組,數組是:[{「person.name」:」 name1','total':1},...]要訪問屬性名稱中具有點,空格,減號...的對象的屬性,您可以:someArray [i] ['person.name'] – HMR

+0

@ HMR這是一個對象數組,我忘記了方括號和昏迷 – Warer

+0

感謝您更新問題並清除問題,因爲它可能會讓未來的訪問者感到困惑,以查看不是實際被稱爲數組的數組的代碼。 – HMR

回答

6

試着這麼做:

console.log(arr[i]['person.name']); 
2

可以使用方括號語法訪問元素arr['person.name']

2
var arr = [{'person.name':'name1', total:1}, 
{'person.name':'name2', total:100}] 
for(var i=0;i<arr.length;i++){ 
    console.log(arr[i]['person.name']); 
} 
1

如果你想從數組對象鍵和值意味着你可以像這樣

var arr=[{'person.name':'name1', 'total':1},{'person.name':'name2', 'total':100}] 
    for(var i=0;i<arr.length;i++){ 
     Object.keys(arr[i]).forEach(function(key) { 
      var val = arr[i][key]; 
      alert('key is '+key + ' value is '+val); 
    }); 
    }