思路:遍历字符串,如果当前字符串是0~9之间,则有数字,直接返回true,反之返回false。

function containsNumber(str) 
{
    let n=str.length
    let flag=false
    for(let i=0;i<n;i++)
    {
        if(str[i]>='0'&&str[i]<='9')
        {
            flag=true
            break
        }
    }
    return flag
}

扩展:此思路的实现方法还可以是,使用str.charAt(index)方法获取字符串str下标为index位置的字符,然后+1,再使用isNaN方法判断运算结果是否是数字。

function containsNumber(str) 
{
    let n=str.length
    let flag=false
    for(let i=0;i<n;i++)
    {
        if(!isNaN(str.charAt(i)+1))
        {
            flag=true
            break
        }
    }
    return flag
}

思路:遍历0~9,使用str.indexOf(i)判断字符串中是否有0~9,有其中之一即是存在数字。

function containsNumber(str) 
{
    for(let i=0;i<=9;i++)
        if(str.indexOf(i)!=-1)
            return true
    return false
}

总结:str.charAt(index)方法获取字符串str下标为index位置的字符;str.indexOf(i)寻找字符串中i第一次出现的下标位置,如果没找到则返回-1;isNaN(n)方法判断给定的值n是否是NaN(非数字)。