我正在尝试bean counting example in the functions chapter of the book Eloquent Javascript。我的功能是返回一个空白。
没有给我完整的答案(我正在通过这个例子来学习),有人可以告诉我为什么我的代码不打印任何文字吗?“
var string = "donkey puke on me boot thar be thar be!";
for (var i = 0; i <= string.length; i++);
function getB(){
if (string.charAt(i) == "b")
return i;
else return "";
}
console.log(getB());
答案 0 :(得分:2)
您尝试实施此功能时出现了问题。
首先,我认为如果你有一个函数接受string
和char
作为参数,以便随时调用它,那就更好了。
调用示例:
getChar('this is my custom string', 'c') -> it should search character `c` in `this is my custom string`
getChar('this is another custom string', 'b') -> it should search character `b` in `this is another custom string`
实施示例:
var getChar = function(string, char){
for(var i=0;i<string.length;i++)
{
if(string.charAt(i)==char) console.log(i);
}
}
现在,尝试使其不区分大小写,而不是console.log
输出尝试返回带有字符位置的排序数组
答案 1 :(得分:1)
使用此,
var string = "donkey puke on me boot thar be thar be!";
for (var i = 0; i <= string.length; i++) {
if (string.charAt(i) == "b") {
console.log(i);
}
}
答案 2 :(得分:1)
另一个例子:收集所有b个职位:
var string = "donkey puke on me boot thar be thar be!";
function getB(string){
var placesOfB = [];
for (var i = 0; i < string.length; i++) {
if (string.charAt(i) == "b") {
placesOfB.push(i);
}
}
return placesOfB;
}
console.log(getB(string));
答案 3 :(得分:1)
如果你想要打印你的价值所在的每个位置,你可以编写类似这样的东西:
var string = "donkey puke on me boot thar be thar be!";
for (var i = 0; i <= string.length; i++)
{
getChar(i, "b");
}
function getChar(i, input)
{
if (string.charAt(i) == input)
console.log(i);
}
答案 4 :(得分:0)
提示:您的for
没有身体(将;
放在它之后只是循环而没有做任何事情)......
在for
内定义一个函数是没有意义的。
答案 5 :(得分:0)
如果没有给你完整的答案,我会给你指点: 1.你的for循环不完整 - 它没有做任何事情。 2.你的getB()函数需要接受字符串参数才能对它执行某些操作。 3. if..else语句没有开括号和右括号{}