2011-06-10 57 views
0
RaceArray: [{ 
    Unknown: 0, 
    Caucasian: 1, 
    AfricanAmerican: 2, 
    AmericanIndian: 3, 
    Asian: 4, 
    Hispanic: 5, 
    Other: 6 
}] 

如何在JavaScript中独立访问密钥并将其作为单独阵列形式化。使用JavaScript访问阵列中的密钥

期望的结果...

RaceArray = ['Unknown','Caucasian'] 
+1

我不是100%确定你在问什么。你之前已经发布了,可能发布之后(期望的结果)? – 2011-06-10 14:57:01

+1

可能是你想要的数组像[“未知”,“白种人”.....]? – 2011-06-10 14:57:51

+0

@Rizwan谢里夫:是 – 2011-06-10 14:59:02

回答

5
var RaceObj = [{ 
    Unknown: 0, 
    Caucasian: 1, 
    AfricanAmerican: 2, 
    AmericanIndian: 3, 
    Asian: 4, 
    Hispanic: 5, 
    Other: 6 
}]; 

var obj = RaceObj[0], Keys = []; 
for(var key in obj){ 
    if(obj.hasOwnProperty(key)){ 
    Keys.push(key); 
    } 
} 
+0

这里是什么RaceObj [0] ...为什么我们使用它。 – 2011-06-10 15:07:00

+0

@John:在你的'RaceArray'中,你有一个包含1个元素的对象。所以,'RaceObj [0]'得到那个对象。我也将'RaceArray'重命名为'RaceObj'。 – 2011-06-10 15:09:18

-1

有可能是一个简单的解决方案,但你可以这样做:

var keys = []; 
for(var key in RaceObj) { 
    if (RaceObj.hasOwnProperty(key)) { 
     keys.push(key); 
    } 
} 
+0

请注意'RaceObj'是一个数组**第一**和一个对象**第二**。您需要在检索密钥之前迭代数组。 – 2011-06-10 14:59:03

+1

aham我会建议不要使用(var key in obj)..而是使用jquery的$ .each或者如果条件检查属性属于对象而不是它的原型 – 2011-06-10 14:59:33

+0

您应该使用'hasOwnProperty'来获取自己的属性。 – Gumbo 2011-06-10 15:00:30