2015-10-15 72 views
-3

给定一个字符串或数字写入一个函数tea42,它接受一个字符串或数字作为输入,并返回一个字符串,其中每个'2'字符或数字已被替换为t。 测试用例是:Javascript代码挑战不通过

Test.assertEquals(tea42(2), 't', 'Twos you lose!') 
Test.assertEquals(tea42('2'), 't', 'Twos you lose!') 
Test.assertEquals(tea42(102), '10t', 'Twos you lose!') 
Test.assertEquals(tea42('m2'),'mt', 'Twos you lose!') 
Test.assertEquals(tea42('pre2ty'),'pretty', 'Twos you lose!') 

这里是我的代码:

function tea42(input) { 
    for (i =0; i <= input.length; i++) { 
    if (input[i] === "2") { 
     return (input.replace("2", "t")); 
    } 
    } 
} 
+0

你得到什么错误检查吗? – xdhmoore

+0

你没有问一个问题。 –

+0

我的猜测是,你需要将'input'强制转换为字符串。如'input = input +'';' –

回答

0

你并不需要一个for循环,只是检查是否有一个2输入(使用input+""将其转换为字符串为了能够与indexOf

function tea42(input) { 
    var output = input + ""; 
    if (output.indexOf("2") !== -1) output = output.replace(/2/g, "t"); 
    return output; 
}