如何检查字符串中某些字符的存在和数量(例如?
我正在进行代码战争(基本面),有一个Kata要求我制作一个程序,让您查看'x'
和'o'o'
是否是相同(例如'xxxooo'
应返回true
和'xxxxo'
应该返回false
)。
利用我对编码的最佳知识(这有点),我构建了此代码,但它行不通。
function XO(str) {
let string = str;
const o = string.match(/O/g) + string.match(/o/g);
const x = string.match(/X/g) + string.match(/x/g);
if (o.length != x.length) {
return true;
} else {
return false;
}
}
请告诉我我的代码有什么问题。
这部分是在我更新之后。
我更新了代码,但它说null不是对象。我也更新了变量,但我认为这不是原因。
function XO(str) {
let string = str;
const largeO = string.match(/O/g);
const smallO = string.match(/o/g);
const largeX = string.match(/X/g);
const smallX = string.match(/x/g);
const oCombined = largeO.length + smallO.length;
const xCombined = largeX.length + smallX.length;
if (oCombined = xCombined) {
return true;
} else {
return false;
}
}
console.log(XO("OxX"));
I was on code wars (fundamentals) and there was a kata that asked me to make a program that allows you to see if amount of 'x'
and 'o'
are the same (for example 'xXXooO'
should return true
and 'xXxxO'
should return false
).
Using my best knowledge about coding (which is a little) I built this code but it wouldn't work.
function XO(str) {
let string = str;
const o = string.match(/O/g) + string.match(/o/g);
const x = string.match(/X/g) + string.match(/x/g);
if (o.length != x.length) {
return true;
} else {
return false;
}
}
Please tell me what is wrong with my code.
This part is after I updated.
I updated my code but it says that null is not an object. I updated the variables too, and I don't think that is the reason why.
function XO(str) {
let string = str;
const largeO = string.match(/O/g);
const smallO = string.match(/o/g);
const largeX = string.match(/X/g);
const smallX = string.match(/x/g);
const oCombined = largeO.length + smallO.length;
const xCombined = largeX.length + smallX.length;
if (oCombined = xCombined) {
return true;
} else {
return false;
}
}
console.log(XO("OxX"));
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一个人需要使用判处'
i
修改器(或flag)进行'x'x'
/'x'
和的情况不敏感匹配。 'o'
/'o'
。原因是,人们需要处理
null
失败match
对于下一个提供的示例代码,可选链接/?。
和 nofollow noreferrer“> nullish cocerescing操作员/???
。原因之一可以通过施放
匹配
的结果和可选的链式?。 .mozilla.org/en-us/docs/web/javascript/referent/global_objects/parseint“ rel =” nofollow noreferrer“>
parseint
它将返回(integer)号码值GRATER比零或 >值。One needs to use an regex'
i
modifier (or flag) for case insensitive matches of'x'
/'X'
and'o'
/'O'
.And of cause one needs to handle the
null
return value of a failingmatch
method which for the next provided example code is taken care of by Optional chaining /?.
and the Nullish coalescing operator /??
.One of cause can achieve the same behavior by casting the result of
match
and an optionally chained?.length
into an integer value viaparseInt
which will return either an (integer) number value grater than zero or theNaN
value.