正在尝试仅打印字符串数据

Trying to print only string data

本文关键字:打印 字符串 数据      更新时间:2023-09-26

我正在尝试让for循环和if语句只打印字符串数据。

var语言={英语:"你好!",法语:"你好!",notA语言:4,西班牙语:"你好!"};

// print hello in the 3 different languages
for (var x in languages) {
    if (typeof x === "string") {
        console.log(languages[x])
    }
};

我相信你想做的是:

for (var x in languages) {
    if (typeof languages[x] === "string") {
        console.log(languages[x]);
    }
}

您当前编码的方式将打印出对象中的所有"键",因为键都是"字符串"。

在对象文字术语中,英语、法语、非语言、西班牙语是属性。属性在JavaScript中是字符串,尽管在对象文字中定义属性名称时可能会省略字符串分隔符。

使用for循环属性名称时。。。在中,属性名称是类似的字符串

for (x in languages) {
    alert(typeof x);
    //-> "string"
}

你需要像这个

var languages = { english: "Hello!", french: "Bonjour!", notALanguage: 4, spanish: "Hola!" };
// print hello in the 3 different languages
 for (var x in languages) {
    //console.log(typeof x); //it will print 4 times because all keys are string
    if (typeof languages[x] === "string") {
        console.log(languages[x])
    }
 }

Demohttp://jsfiddle.net/4hxgvr6q/

谢谢,我实际上从用户那里找到了同样的问题:Leahcim发布了帖子用户的正确答案:Some Guy JavaScript:使用typeof检查字符串

for (var hello in languages) {
    var value= languages[hello] 
    if (typeof value === "string") {
        console.log(value)
    }
};