indexOf(); 查找字符串,返回值为该字符的下标
如查找字符串中a出现的次数。
<script>
var str="abcacaa";
//方法一(脑子一般)
var num =0;
for(var i=0;i<str.length;i++){
if(str[i]==="a"){
num++;
}
}
console.log(num);
//方法二(动脑子了,提高了优化性能)
var num=0;
var index=-1;
while (str.indexOf("a",index+1)>-1){ //第二个参数index+1表从什么位置开始查找
index=str.indexOf("a",index+1);
num++;
}
console.log(num);
</script>
查找还用于模糊查找。如查找数组中带有关键字的某项。
<script>
var data=[
{id:1001,name:"计算机",num:1,price:10},
{id:1002,name:"笔记本",num:1,price:20},
{id:1003,name:"充电宝",num:1,price:30},
{id:1005,name:"手机",num:1,price:50},
{id:1006,name:"机箱",num:1,price:60},
];
//模糊查找带有"机"字的项
var arr=data.fillter(function (t){
return t.name.indexOf("机")>-1;
});
console.log(arr);
//查找带有"机"字的项,且机必须为最后一个字
var arr1=data.fillter(function(t){
return t.name.indexOf("机")===t.name.length-1;
});
console.log(arr1);
</script>
lastIndexOf(); 从后向前查找字符,返回要查找该字符的下标索引
search(); 也用于查找,返回的也是下标,但是是用于正则表达式查找
replace(); 替换字符。返回值为新字符串。原字符串不变。两个参数,第一个为被替换的,第二个为替换上去的。目前只能替换一次,如果要替换所有,就需要写循环。replace多用于正则表达式中的替换,正则表达式里可替换所有。
toLocatleLowerCase();和toLocaleUpperCase(); 分别把字符串转换为当地的小写、大写
toLowerCase();和toUpperCase(); 分别把字符串转换为小写、大写