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);
为什么我会收到错误消息?
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);
为什么我会收到错误消息?
对象的连接运算String
符+=
不是+ =
fin
根据 ypur 代码中的内容获取价值应该s
是这样的
for (var i in s) {
if (leet.hasOwnProperty(s[i])) {
fin += leet[s[i]];
}
}
您的 i 值为 0,1,2,3,4 .. 要获取 char ,您应该使用 s[i] 并且字符串 concat 是 += 而不是 + =
我是说
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);
编辑为fin += leet[i]和fin += i通过删除其中的空格然后现在你可以得到你的结果为“01234”