javascript - 如何检查数组中的项目是否为字母?
问题描述
所以有这个关于 coderbyte 的练习:
让函数 SimpleSymbols(str) 接受传递的 str 参数,并通过返回字符串 true 或 false 来确定它是否是可接受的序列。str 参数将由 + 和 = 符号组成,它们之间有几个字符(即 ++d+===+c++==a),并且要使字符串为真,每个字母都必须用 + 符号包围。所以左边的字符串是假的。该字符串不会为空,并且至少包含一个字母。
示例测试用例:
输入:“+d+=3=+s+”
输出:真
输入:“f++d+”
输出:假
这是我想出的解决方案,但它不起作用:
function SimpleSymbols(str) {
// code goes here
var splitted = str.split('')
var result = splitted.map(function (arr){
for (var i=0; i<splitted.length; i++){
if (splitted[i] == '+' && splitted[i+2] == '+' && splitted[i+1] == /[a-z]/gi || && splitted[i+1] == /[A-Z]/gi){
return true
}
return false
}
}
})
return result;
}
// keep this function call here
SimpleSymbols(readline());
我相信问题在于我如何在 if 语句上编写正则表达式条件。
那么如何找出 splitted[i+1] 是一个字母的正确方法呢?
解决方案
像这样的东西
function SimpleSymbols(str) {
// code goes here
var splitted = str.split('+')
var result = splitted.map(function (arr){
for (var i=0; i < splitted.length; i++){
if ( /[a-z]/gi.test(splitted[i]) && /[A-Z]/gi.test(splitted[i+1])
){
return true
}
return false
}
})
return result;
}
// keep this function call here
console.log(SimpleSymbols('f+g+j'));
推荐阅读
- python - 检查来自两个不同列表的重复数据
- spring-boot - 使用 Spring OAuth2 Client Enabled WebClient 时的异常处理
- automation - Perforce:一次集成所有修订,但结果与逐个集成修订相同?
- security - 如何防止外部服务交互 (DNS)
- python-3.x - 检索 Python 异常对象
- android - 如何在android studio的用户手机中显示来自云firestore的数据?
- sql-server - sql-server 中的更改数据捕获机制
- python - 在 Python/Django 中将两个整数相除并返回浮点数
- powershell - Powershell CredSSP 问题
- delphi - TImageViewer , 放大/缩小后改变位置