/* //字符串对象 根据字符返回位置
var str = '改革春风吹满地';
console.log(ser.indexOf('春'));
console.log(ser.indexOf('春',3)); // 3表示从字符数中 索引号为3的位置开始往后查找
*/
//查找字符串中某个字符出现的位置及次数
var str = "abcoefoxyosdasdosdao";
var index = str.indexOf('o'); //把第一个查出来
var num = 0;
while( index !== -1){
console.log(index); //先输出第一个o出现的位置
num++;
index = str.indexOf('o', index + 1); //然后index+1 从第一个o出现的位置后面开始继续查找
}
console.log('o出现的次数' + num);
// 有一个对象 来判断是否有该属性 对象['属性']
var o = {
age: 18
}
if( o['age']){
console.log('里面有该属性');
}else{
console.log('里面没有');
}
// 判断一个字符串'abcdodsdosdoovsdo' 中出现次数最多的字符,并统计其次数
// 核心算法 利用 charAT() 遍历这个字符串
// 把每个字符都存储给新对象 如果对象没有这个属性 = 1 存在这个属性 + 1
var str2 = 'abcdodsdosdoovsdo';
var o = {};
for( var i = 0 ; i < str2.length ; i++){
var chats = str.charAt(i);
if( o[chats] ){
o[chats]++;
}else {
o[chats] = 1;
}
}
console.log(o);
// 遍历对象
var max = 0;
var ch = '';
for ( var k in o){
// k 得到的是属性名
// O[K] 得到的是属性值
if ( o[k] > max){
max = o[k];
ch = k;
}
}
console.log(max);
console.log('最多的字符是' + ch);
//字符串操作方法
// 1. concat('字符串1','字符串2'。。。。); 添加
var str5 = 'andy';
console.log(str5.concat('what'));
// 2. substr('截取的起始位置' , '截取几个字符'): 取值
var str6 = '冷冷雨喔噢噢';
console.log(str6.substr(3 , 2));
// 3. replace('被替代的字符' , '要替代的字符' ) 取代
var str7 = 'anglebaby';
console.log(str7.replace('a','b'));
//eg
var str8 = 'asdjkkdjsfgaSADAS';
while( str8.indexOf('k') !== -1){
str8 = str8.replace('k' , 'F');
}
console.log(str8);
字符串练习
var str = 'asbvaskdkjasdjl213asd';
console.log(str.length);
console.log(str[0]);
console.log(str[3]);
console.log(str.replace('a','s'));
console.log(str.substr(1,5));
var o = {};
for( var i = 0 ; i < str.length ; i++){
var chats = str.charAt(i);
if( o[chats]){
o[chats]++;
} else {
o[chats] = 1;
}
}
console.log(o);