题解 | #搜索数字#

搜索数字

http://www.nowcoder.com/practice/f7df2b13dce44b7498a13c1df1652779

法一(1):

function _search(string) {
    return Array.from(string).some(el => isNaN(el) === false)
}
  • Array.from —— 对一个类似数组或可迭代对象创建一个新的浅拷贝的数组实例
  • Array.some —— 测试数组中是否有元素通过了被提供的函数测试,返回boolean型值
  • isNaN —— ①是否Number类型 ②尝试转换为数值 ③判断是否NaN。非数值-true;数值-false 【不推荐isNaN,因为空字符串' '会在②转换为0,返回false。不知道为什么这测试居然能通过】

法一(2):

function _search(string) {
    return Array.from(string).some(el => el > 0 && el < 9)
}
  • 数字和字符比较时,js将字符转为数字

法二(1):

function _search(string) {
    let regExp = new RegExp('\\d')
    return regExp.test(string)
}
  • RegExp.test —— 执行一个检索,看正则表达式与字符串是否匹配,返回boolean

法二(2):

function _search(string) {
    // .*匹配任意个数的字符  {1,}至少1位匹配
    let regExp = new RegExp('.*[0-9]{1,}.*')
    return regExp.test(string)
}

法三:

function _search(string) {
    return string.match('\\d') ? true : false
}
  • String.match(regexp) —— 返回字符串匹配正则表达式的结结果
JS基础练习记录 文章被收录于专栏

巩固JS基础

全部评论
法2是不是有问题啊,如果字符串中含有负数的话岂不是没法解决了?
点赞 回复 分享
发布于 2023-12-14 16:43 广东

相关推荐

不愿透露姓名的神秘牛友
07-02 14:45
bg是二本双一流硕,目标是Java后端开发岗,投暑期实习0大厂面试,只有极少的大厂测开,可能投的晚加上简历太烂加上0实习?求大佬们给个建议
程序员小白条:别去小厂,初创或者外包,尽量去中小,100-499和500-999,专门做互联网产品的,有公司自研的平台和封装的工具等等,去学习一些业务相关的,比如抽奖,积分兑换,SSO认证,风控,零售等等,目标 Java 后端开发吗?你要不考虑直接走大厂测开?如果技术不行的话,有面试你也很难过的
实习,不懂就问
点赞 评论 收藏
分享
小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务