JavaScript——字符串检索的5种方式
demo
let str3 = 'hello,word' console.log('检索不到返回-1',str3.indexOf('a')); //检索不到返回-1 console.log(str3.lastIndexOf('e',5));//返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。 console.log('//检索不到返回-1',str3.lastIndexOf('o',2)); //检索不到返回-1 console.log(str3.includes('e',2)); // 第二个参数,查找的开始位置,默认为 0。检索不到返回false,检索到返回true console.log(str3.startsWith('H')); // 检测字符串是否以指定的子字符串开始,对大小写敏感,检索不到返回false,检索到返回true // console.log(str3.toLowerCase().startsWith('h')); // 避免因为大小写而查找错误的问题,可以把字符串转为小写用小写字母检索 console.log(str3.toUpperCase().startsWith('H')); // 避免因为大小写而查找错误的问题,可以把字符串转为大写用大写字母检索
- str.indexOf('xx')
- str.lastIndexOf('xx')
- str.includes ('xx')
- str.startsWith('xx')
第5种:
arr.some() / arr.every()
定义和方法:
some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
- 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
- 如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
let arr1 = ["html","css","js"]; let str4 = "学习前端的顺序是先学html和css绘制页面"; let result = arr1.some(item=>{ return str4.includes(item) }) if(result){ console.log('找到了关键词'); //遍历第一个元素,出现在str4里,后面的就不检索了,返回true }else{ console.log('没找到关键词'); }