题解 | #搜索数字#

搜索数字

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 广东

相关推荐

评论
1
1
分享

创作者周榜

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