JavaScript:使用typeof检查字符串
我正在做一个codecademy.com练习,我们使用for-in语句通过检查语言对象中属性的值是否为字符串,使用JavaScript:使用typeof检查字符串,javascript,Javascript,我正在做一个codecademy.com练习,我们使用for-in语句通过检查语言对象中属性的值是否为字符串,使用typeof 检查值是否为字符串的检查无效。我的循环给了我这个结果 english french notALanguage spanish 代码 var languages = { english: "Hello!", french: "Bonjour!", notALanguage: 4, spanish: "
typeof
检查值是否为字符串的检查无效。我的循环给了我这个结果
english
french
notALanguage
spanish
代码
var languages = {
english: "Hello!",
french: "Bonjour!",
notALanguage: 4,
spanish: "Hola!"
};
// print hello in the 3 different languages
for(var hello in languages){
var value = hello;
if (typeof value === "string"){
console.log(value);
}
}
这些是练习的说明
如果你真的想一想,对象就不会那么陌生了
请记住,您可以使用typeof来确定变量的类型
myVariable。我们现在关注的类型是“对象”,
“字符串”和“数字”
回想一下for in循环:
对于(obj中的var x){executesmething();}
这将逐个检查obj的所有属性并分配
每次循环运行时将属性名设置为x
让我们结合这两个概念的知识
检查语言对象。三个属性是字符串,而
一是数字
使用for-in循环打印出打招呼的三种方式。在
循环时,应检查属性值是否为字符串,以便
不要意外地打印数字
这是因为您正在检查对象的
键。要检查实际值,您应该执行类似于object[key]
的操作。试试这个:
var languages = {
english: "Hello!",
french: "Bonjour!",
notALanguage: 4,
spanish: "Hola!"
};
// print hello in the 3 different languages
for(var hello in languages){
var value = languages[hello];
if (typeof value === "string"){
console.log(value);
}
}
您正在检查对象的键,而不是值。检查对象的构造函数以确定其类型通常是一种好的做法
大概是这样的:
var languages = {
english: "Hello!",
french: "Bonjour!",
notALanguage: 4,
spanish: "Hola!"
};
for(i in languages) {
if(languages[i].constructor === String) {
console.log(languages[i])
};
};
答案如下:(在for语句中使用typeof,然后使用对象名,后跟var,并测试它是否等于“string”)
下面的编码对于只执行字符串值也很有用。通过使用变量访问abject的属性列表,然后使用它检查值是否是一个NotANumber(使用isNaN)。下面给出的代码对您很有用
var languages = {
english: "Hello!",
french: "Bonjour!",
notALanguage: 4,
spanish: "Hola!"
};
// print hello in the 3 different languages
for(a in languages)
{
if(isNaN(languages[a]))
console.log(languages[a]);
}
这是为我工作的价值观
for(语言中的var x){
“string”与string不同。我找到了一种测试string的typeof的方法
if (typeof something === typeof "test") ...
当然,您可以使用“字符串”进行比较,但任何实际的字符串都可以。提出问题时可以不使用问号(?),也可以不使用问题的典型语法。OP显示了我的问题所在,以及两位回答问题的人(以及所有投赞成票的人)清楚地理解它。是的,你已经给出了代码和相应的明显输出。告诉你你的期望是什么是一个好主意,因为代码是完全有效的。起初我不理解你在说什么,但现在我明白你在做什么。很棒的想法。这样你可以真正确定你的发现是一个字符串值。例如你可以稍微提高它的清晰度,然后说:如果(某物的类型===字符串的类型)。。
if(typeof languages[x] === "string"){
console.log(languages[x]);
} else }
if (typeof something === typeof "test") ...