javascript - 如何实现一个函数,当传入一个强字符串时将返回,否则返回 false?
问题描述
如果它们以三个或更多结尾,则字符串很强烈!分数。然而,拥有!标记除结尾以外的任何地方都会形成非强度字符串。
我遇到的问题是当有一个!在一个字符串的中间。结果应该是假的,但它仍然是真的。
我的代码:
function intenseString (str) {
if (str.slice(-3) !== "!!!") {
return false;
}
else if(str.slice(str.indexOf("!"))){
return false;
}
else if(str.slice(-3) === "!!!"){
return true
}
}
解决方案
使用indexOf
而不是切片字符串:
const strings = ['abc!!!', 'abc!!de', 'abc!']
const intenseString = (str, chars) => str.indexOf(chars) >= 0
console.log(strings.map(x => intenseString(x, '!!!')))
推荐阅读
- apache-spark - Spark sql在HDP的hive中找不到表
- jquery - 带有添加的 Jquery 选项的选择字段,如何保存选定的选项
- python - Python中基于多个条件的过滤
- node.js - 将heroku上的node.js api与mongoDb atlas连接时出现问题
- macos - squidman代理服务器支持https吗?
- android - Android:使用数据绑定调用 ViewModel 函数
- c++ - 如何使用抗锯齿渲染图像?C++/Qt
- c# - 如何通过x.Something1和x.Something2“查询语法”组“x”?
- jdbc - T4CPreparedStatement 实例未释放与绑定参数相关的内存,导致内存随时间泄漏
- java - 信号服务器错误:org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException