Javascript 函数,用于检查字符串中字符的使用次数
我正在编写一个函数,该函数将字符串作为参数,检查给定字符(在本例中为“B”),然后返回一个反映该字符出现次数的整数。我知道这可以通过使用regex之类的工具来实现,但是我使用的教程到目前为止没有提到regex。代码时间:Javascript 函数,用于检查字符串中字符的使用次数,javascript,if-statement,while-loop,Javascript,If Statement,While Loop,我正在编写一个函数,该函数将字符串作为参数,检查给定字符(在本例中为“B”),然后返回一个反映该字符出现次数的整数。我知道这可以通过使用regex之类的工具来实现,但是我使用的教程到目前为止没有提到regex。代码时间: function countBs(string) { var i = 0; var n = 0; var position = string.charAt(n); while (i < string.length) { if (string.ch
function countBs(string) {
var i = 0;
var n = 0;
var position = string.charAt(n);
while (i < string.length) {
if (string.charAt(n) == "B")
n += 1;
i++; //This line causes the following else statement to throw a syntax error. But it's the only way I can think of to have the loop continue iteration *while* checking for equivalence to "B"
else
i++;
return n;
}
}
函数countBs(字符串){
var i=0;
var n=0;
变量位置=字符串.charAt(n);
while(i
然后检查
console.log(countBs(“ABBA”)代码>尝试将其用大括号括起来:
if (string.charAt(n) == "B")
{ n += 1;
i++;
}
else
需要前面的if
,中间不需要其他语句i++
在之外,如果尝试用大括号将其括起来:
if (string.charAt(n) == "B")
{ n += 1;
i++;
}
else
需要前面的if
,中间不需要其他语句i++
在之外,如果尝试用大括号将其括起来:
if (string.charAt(n) == "B")
{ n += 1;
i++;
}
else
需要前面的if
,中间不需要其他语句i++
在之外,如果尝试用大括号将其括起来:
if (string.charAt(n) == "B")
{ n += 1;
i++;
}
else
需要前面的if
,中间不需要其他语句i++
在之外,如果您的代码已完全损坏
函数countBs(字符串){
var i=0;
var n=0;
//var position=string.charAt(n);//删除--不需要
而(i
因此,正确的代码是:
function countBs(string) {
var i = 0;
var n = 0;
while (i < string.length) {
if (string.charAt(i) == "B") n++;
i++;
}
return n;
}
现代JS
作为参考,在现代JS中,您可以避免使用循环和变量。首先,让我们编写一个单独的检查函数:
function isB(c) { return c === 'B'; }
然后写
function countBs(str) {
return str . split('') . filter(isB) . length;
}
或者,使用reduce
:
function countBs(str) {
return str.split('').reduce(function(cnt, c) {
return cnt + isB(c);
}, 0);
}
或者,尽管您说过不想使用regexp:
function countBs(str) {
return (str.match(/B/g) || []) . length;
}
如果您是在ES6环境中编写,那么使用数组理解
function countBs(str) {
return [for (c of str) if (isB(c)) c] . length;
}
你的密码很坏
函数countBs(字符串){
var i=0;
var n=0;
//var position=string.charAt(n);//删除--不需要
而(i
因此,正确的代码是:
function countBs(string) {
var i = 0;
var n = 0;
while (i < string.length) {
if (string.charAt(i) == "B") n++;
i++;
}
return n;
}
现代JS
作为参考,在现代JS中,您可以避免使用循环和变量。首先,让我们编写一个单独的检查函数:
function isB(c) { return c === 'B'; }
然后写
function countBs(str) {
return str . split('') . filter(isB) . length;
}
或者,使用reduce
:
function countBs(str) {
return str.split('').reduce(function(cnt, c) {
return cnt + isB(c);
}, 0);
}
或者,尽管您说过不想使用regexp:
function countBs(str) {
return (str.match(/B/g) || []) . length;
}
如果您是在ES6环境中编写,那么使用数组理解
function countBs(str) {
return [for (c of str) if (isB(c)) c] . length;
}
你的密码很坏
函数countBs(字符串){
var i=0;
var n=0;
//var position=string.charAt(n);//删除--不需要
而(i
因此,正确的代码是:
function countBs(string) {
var i = 0;
var n = 0;
while (i < string.length) {
if (string.charAt(i) == "B") n++;
i++;
}
return n;
}
现代JS
作为参考,在现代JS中,您可以避免使用循环和变量。首先,让我们编写一个单独的检查函数:
function isB(c) { return c === 'B'; }
然后写
function countBs(str) {
return str . split('') . filter(isB) . length;
}
或者,使用reduce
:
function countBs(str) {
return str.split('').reduce(function(cnt, c) {
return cnt + isB(c);
}, 0);
}
或者,尽管您说过不想使用regexp:
function countBs(str) {
return (str.match(/B/g) || []) . length;
}
如果您是在ES6环境中编写,那么使用数组理解
function countBs(str) {
return [for (c of str) if (isB(c)) c] . length;
}
你的密码很坏
函数countBs(字符串){
var i=0;
var n=0;
//var position=string.charAt(n);//删除--不需要
而(i
因此,正确的代码是:
function countBs(string) {
var i = 0;
var n = 0;
while (i < string.length) {
if (string.charAt(i) == "B") n++;
i++;
}
return n;
}
现代JS
作为参考,在现代JS中,您可以避免使用循环和变量。首先,让我们编写一个单独的检查函数:
function isB(c) { return c === 'B'; }
然后写
function countBs(str) {
return str . split('') . filter(isB) . length;
}
或者,使用reduce
:
function countBs(str) {
return str.split('').reduce(function(cnt, c) {
return cnt + isB(c);
}, 0);
}
或者,尽管您说过不想使用regexp:
function countBs(str) {
return (str.match(/B/g) || []) . length;
}
如果您是在ES6环境中编写,那么使用数组理解
function countBs(str) {
return [for (c of str) if (isB(c)) c] . length;
}
这是我的答案
function countBs(Str)
{
let char = "B" ;
return String(Str).split(char).length - 1;
}
function countChar(Str, char)
{
return String(Str).split(char).length - 1;
}
这是我的答案
function countBs(Str)
{
let char = "B" ;
return String(Str).split(char).length - 1;
}
function countChar(Str, char)
{
return String(Str).split(char).length - 1;
}
这是我的答案
function countBs(Str)
{
let char = "B" ;
return String(Str).split(char).length - 1;
}
function countChar(Str, char)
{
return String(Str).split(char).length - 1;
}
这是我的答案
function countBs(Str)
{
let char = "B" ;
return String(Str).split(char).length - 1;
}
function countChar(Str, char)
{
return String(Str).split(char).length - 1;
}
啊,我明白了。感谢您在if/else语句中提供关于花括号用法的说明。我将I++
放在else
中,因为我希望条件继续迭代,即使string.charAt(n)!=“B”
另外,如果两条语句中都有i++
,则if和else根本不需要i++
。谢谢您的提示!我想我现在已经基本明白了。我只是将I++
移到了条件语句之外。现在我可以检查“B”在字符串中出现的次数,直到另一个字符出现为止。所以,如果我把“BBB”作为字符串,它会数到3,但如果是“BABY”,它只会数到1。我会尽快接受你的回答。我避免无缘无故地投反对票,但是