var leet = {
h: 1,
e: 2,
r: 3,
o: 4,
l: 5
};
var s = "hello";
var fin = "";
for (var i in s) {
if (leet.hasOwnProperty(i)) {
fin + = leet[i];
} else {
fin + = i
}
}
console.log(fin);
为什么我会收到错误消息?
最佳答案
你的 i 值为 0,1,2,3,4 ..要获取 char ,你应该使用 s[i] ,字符串连接是 += 而不是 + =
我是说
for (var i in s)
{
alert(i); // Gives 0,1,2,3,4
alert(s[i]); // Gives h,e,l,l,o
}
下面的代码为您提供了预期的结果
var leet = {
h: 1,
e: 2,
r: 3,
o: 4,
l: 5
};
var s = "hello";
var fin = "";
for (var i in s) {
if (leet.hasOwnProperty(s[i])) {
fin += leet[s[i]];
} else {
fin += i
}
}
alert(fin);
关于javascript - 如何迭代字符串并查明它是否在对象文字中可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16432633/