在javascript中使用forof in循环中的typeof

时间:2014-05-13 16:22:59

标签: javascript typeof for-in-loop

我创建了一个具有6个属性的对象,其中前3个属性是字符串数据类型,第二个属性是数字数据类型。我决定单独打印字符串数据类型属性的值。但是我的代码正在打印所有可用属性的值。以下是我的代码。有人帮我纠正。

var family = {
    dad: "Two",
    mom: "Twenty Two",
    kid: "Thirty Two",
    dadAge: 42,
    momAge: 41,
    kidAge: 12,

};

for(prop in family){
    if(typeof prop === "string"){
        console.log(family[prop]);
    }
}

2 个答案:

答案 0 :(得分:3)

应为if(typeof family[prop] === "string")

for(prop in family){
    if(typeof family[prop] === "string"){
        console.log(family[prop]);
    }
}

prop表示密钥,它始终为“string”,而您需要使用family[prop],它会返回您存储在对象中的值

答案 1 :(得分:1)

prop将始终是一个字符串,因为它包含属性的名称。你可以这样做:

for(prop in family){
    if(typeof family[prop] === "string"){
        console.log(family[prop]);
    }
}