gpt4 book ai didi

javascript - Javascript Easy coderbyte 挑战遇到问题

转载 作者:行者123 更新时间:2023-12-03 11:06:30 25 4
gpt4 key购买 nike

我正在尝试回答这个问题:

使用 JavaScript 语言,让函数 SimpleSymbols(str) 接受传递的 str 参数,并通过返回字符串 true 或 false 来确定它是否是可接受的序列。 str 参数将由 + 和 = 符号组成,它们之间有多个字母(即++d+===+c++==a),并且要使字符串为真,每个字母必须被 + 符号包围。所以左边的字符串是假的。该字符串不会为空并且至少包含一个字母。

这是我的解决方案:

function SimpleSymbols(str) { 
var test;

for (var i =0; i<str.length; i++){

if ((str.charAt(i)!== '+' && str.charAt(i+1) === str.match(/[a-z]/))
||(str.charAt(i+1) === str.match(/[a-z]/) && str.charAt(i+2) !== '+')){
test = false;
break;
}

else if (str.charAt(0) === str.match(/[a-z]/)){
test = false;
break;}

else {
test= true;}


}
return test;

};

最佳答案

我认为你可以只使用两个正则表达式,然后比较它们返回的数组的长度

function SimpleSymbols(str){
return str.match(/[a-z]/g).length == str.match(/\+[a-z]\+/g).length;
}

第一个正则表达式 /[a-z]/g 将匹配所有字母,/\+[a-z]\+/g 将匹配后面的所有字母前面有一个文字 +

然后,我们只需使用 Array.length 属性检查长度是否相同,然后返回 Boolean 结果。就这么简单。

关于javascript - Javascript Easy coderbyte 挑战遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27832771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com