charAt(index) 方法从一个字符串中返回指定的字符,index(0~字符长度下标)
concat(string2, string3[, …, stringN]) 方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回
indexOf(searchValue, fromIndex) 方法返回调用它的 String 对象中第一次出现的指定值的索引,从 fromIndex 处进行搜索。如果未找到该值,则返回 -1。
lastIndexof(searchValue, fromIndex) 方法返回调用它的 String 对象中最后一次出现的指定值的索引,从 fromIndex 处从后向前搜索。如果没找到这个特定值则返回-1
replace() 方法返回一个由替换值(replacement)替换一些或所有匹配的模式(pattern)后的新字符串。模式可以是一个字符串或者一个正则表达式,替换值可以是一个字符串或者一个每次匹配都要调用的回调函数。
slice() 方法提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串。
split() 方法使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。
var str = 'abcccdefghijk123';
var str2 = '456789lmnopq';
var str3 = '1,2,3,4,5,6,7,8,9';
console.log(str.length);
// 获取字符串长度 // 16
console.log(str.charAt(0), str.charAt(3), str.charAt(6), str.charAt(9));
// 返回指定位置的字符串 // a c e h
console.log(str.concat(str2));
// 将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回 // abcccdefghijk123456789lmnopq
console.log(str.indexOf('c'));
// 返回字符串第一次出现的索引 // 2
console.log(str.lastIndexOf('c'));
// 返回字符串最后一次出现的索引 // 4
console.log(str.replace('c', 'C'));
// 替换字符串中某个字符中的第一个出现的字符 abCccdefghijk123
console.log(str.replace(/c/gi, 'C'));
// 替换字符串中某个字符的所有字符 abCCCdefghijk123
console.log(str.slice(1, 5));
// 截取字符串 bccc
console.log(str.slice(-5, -1));
// 截取字符串,负数从后截取 jk12
console.log(str3.split(','));
// 分割字符串转为数组 ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
/*
小案例: 统计出现最多的字符串和次数
核心算法:利用charAt()遍历这个字符串
把每个字符串都存储给对象,如果对象没有该属性就为1, 如果存在了就++
遍历对象得到最大值和该字符串
*/
var str = 'abcccdefghijk123';
var objStr = {};
for (var i = 0; i < str.length; i++) {
var chars = str.charAt(i); // 字符串存在的每一个字符
if (objStr[chars]) { // 判断对象是否存在该属性
objStr[chars]++;
} else {
objStr[chars] = 1;
}
}
var max = 0;
var charsM = '';
for (k in objStr) {
if (objStr[k] > max) {
max = objStr[k];
charsM = k;
}
}
console.log(max); // 3
console.log(charsM); // c