思路:遍历字符串,如果当前字符串是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(非数字)。