我创建了一个具有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]);
}
}
答案 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]);
}
}