字符串查找
2020-08-12 本文已影响0人
泫晨懿然
charAt( ):
let str = "Hello harry potter";
//console.log(str[0]);//H
/*
通过str[index]取值,是存在兼容问题的,IE8以下是无法使用的
str.charAt(index)来获取
--index是字符串的索引值(下标),如果不写,其默认值是0
--index超过str.length或者<0,会返回空字符串
*/
console.log(str.charAt());//H
console.log(str.charAt(str.length + 5));//空字符串
console.log(str.charAt(-5));//空字符串
charCodeAt():
let str = "Harry Potter";
let str2 = "Rose";
console.log(str > str2);//false
/*
字符串进行比较,是比较Unicode编码
str.charCodeAt(index) 用于获取当前字符串的Unicode编码
-- index:字符串的索引值(下标),如果不写,其默认值是0
-- 如果下标是不存在的值,则返回NaN
*/
let hero1 = "后裔";
let hero2 = "张飞";
console.log(hero1.charCodeAt(0));//21518
console.log(hero1.charCodeAt(5));//NaN
console.log(hero2.charCodeAt(0));//24352
console.log(hero2.charCodeAt(-10));//NaN
console.log(hero1 > hero2);//false
fromCharCode():
let str = "后裔打鲁班";
let arr = [];
for (let i = 0; i < str.length; i++) {
arr[i] = str.charCodeAt(i);
}
console.log(arr);
/*
fromCharCode是在String对象下的,而不是声明的str字符串中的方法
--参数可以是一个或者多个
*/
console.log(String.fromCharCode(arr[0],arr[1],arr[2],arr[3],arr[4]));//后裔打鲁班
indexOf():
/*
str.indexOf(serchValue,[fromIndex])
用于查找str是否包含所查字符串:
若存在,则返回此字符串第一次出现的索引值
不存在的返回-1
---fromIndex是一个可选值
如果不填默认为0
如果小于0,则会按照0处理
如果超出范围,则返回-1
*/
let str = "欢迎来到王者荣耀";
console.log(str.indexOf("到"));//3
console.log(str.indexOf("没有"));//-1
console.log(str.indexOf("者",3));//5
console.log(str.indexOf("者",20));//-1
console.log(str.indexOf("者",-1));//5
lastIndexOf():
/*
str.lastIndexOf(searchValue,fromIndex)
返回字符串中最后出现查找字符的索引值,从后往前搜索
--searchValue 需要查找的字符
--fromIndex
起始位置(从后往前)如果不写,默认为str.length
如果超过str.length,则为str.length
如果小于0,则默认为0=>此时只能查到第一个字符
如果找不到则返回为-1
*/
let str = "明媚如风,轻盈似箭";
console.log(str.lastIndexOf("媚"));//1
console.log(str.lastIndexOf("媚",str.length));//1
console.log(str.lastIndexOf("v",-10));//1
console.log(str.lastIndexOf("明",-10));//0