字符串的方法
charAt();返回字符串指定索引的字符;
concat();连接两个或多个字符串;
indexOf();返回字符串中检索指定字符第一次出现的位置;
lastIndexOf();返回字符串中检索指定字符最后一次出现的位置;
subString();提取字符串中两个指定索引之间的字符,包含第一个索引,不包含第二个索引。若只有一个,则从该索引到字符串最后;
slice();和subString相同,区别是slice可以取负值,当取负值时是从字符串后面开始查找;
substr(a, length);表示从下标a开始,往后查找length个字符,若只有a,则从a到最后,这里的a也可以为负值;
split();将字符串转换为字符串数组,方法中可以传值,代表拆分符号
var arr = [10, 20, 30, 40, 50, 60, 70]; var str1 = arr.join("+"); console.log(str1); //10+20+30+40+50+60+70 console.log(str1.split()); //Array [ "10+20+30+40+50+60+70" ] console.log(str1.split("+")); //Array(7) [ "10", "20", "30", "40", "50", "60", "70" ]
toLowerCase();将字符串转换为小写;
toUpperCase();将字符串转换为大写;
trim();消除字符串首尾空白字符。
charCodeAt();返回指定索引位置字符的ASCII码;
fromCharCode();将ASCII码转换为字符串;
关于字符串方法的使用的案例
判断字符串中出现次数最多的字符
<script>
// 判断字符出现次数
function charCount(str) {
var obj = {}; //创建一个obj对象
for (var i = 0; i < str.length; i++) {
// 将字符串中的字符放入到obj对象的属性中
if (obj[str[i]]) { //如果对象中有该属性,则属性值加1,属性值即为字符出现的次数
obj[str[i]]++;
} else { //如果对象中没有该属性,则添加属性,并令属性值为1
obj[str[i]] = 1;
}
}
var max = 0; //定义一个最大值。即字符出现的次数的最大值
var arr = []; //定义一个数组存放出现次数最大的字符
for (var j in obj) { //遍历对象属性
if (obj[j] > max) { //如果属性值大于max,修改最大值,清空数组中存放的字符
max = obj[j];
arr = [];
arr.push(j);
} else if (obj[j] == max) { //解决字符串中有并列出现次数最大字符的情况
arr.push(j);
}
}
return { //将返回的字符和最大值通过对象返回
character: arr,
count: max
}
}
var str = "asdfadsfasdfaa";
var result = charCount(str);
console.log("出现次数最多的字符是:" + result.character + "\n出现次数是:" + result.count);
</script>
查看指定字符在字符串中出现的次数
// 第一种方法:使用字符串的split()方法查找字符串中指定字符出现的次数
function checkNumber(str, subStr) {
var arr = str.split(subStr);
var count = arr.length - 1;
count = count == -1 ? 0 : count;
return count;
}
var str = "dsafsdafsafasa";
console.log(checkNumber(str, "a"));
// 第二种方法:采用for循环,判断a在字符串中出现的次数
var str = "asfdafadsaaaa";
function wordCount(str, s) {
var count = 0;
for (var i = 0; i < str.length; i++) {
if (str.charAt(i) == s) {
count++;
}
}
return count;
}
console.log(wordCount(str, "a"));