2011-01-30 98 views
19

我有一個js對象,如:如何字符串轉換爲對象的字段名在javascript

obj = { 
    name: 'js', 
    age: 20 
}; 

現在我想訪問obj的名稱字段,但我只能得到字符串「名」,所以如何將'name'轉換爲obj的字段名稱,然後獲得像obj.name這樣的結果。

預先感謝您。

+3

`obj.name`還是我錯過了這個問題的重點? – mhitza 2011-01-30 05:03:08

回答

42

您可以使用訪問JavaScript對象的屬性索引即

var obj = { 
    name: 'js', 
    age: 20 
}; 

var isSame = (obj["name"] == obj.name) 
alert(isSame); 

var nameIndex = "name"; // Now you can use nameIndex as an indexor of obj to get the value of property name. 
isSame = (obj[nameIndex] == obj.name) 

查看示例@:http://www.jsfiddle.net/W8EAr/

2

由於對象是JavaScript中的關聯數組,因此您可以訪問'名稱'字段,如obj['name']obj[fieldName],其中fieldName = 'name'

8

在Javascript中,obj.name相當於obj['name'],它增加了必要的間接性。

在您的例子:

var fieldName = 'name' 
var obj = { 
    name: 'js', 
    age: 20 
}; 
var value = obj[fieldName]; // 'js' 
5

這是很簡單的,通過一個變量來訪問對象的價值,你用方括號:

var property = 'name'; 
var obj = {name: 'js'}; 
alert(obj[property]); // pops 'js' 
相關問題