JavaScript基本包装类型String(字符串对象)
只有对象,复杂数据类型才有属性和方法,为什么string这个简单数据类型会有length属性呢?
基本包装类型:把简单数据类型包装成复杂数据类型
有哪些基本包装类型呢?
var str='pink';
console.log(str.length); //4
以上代码等同于
var str=new String('pink');
console.log(str.length); //4
- 根据字符返回位置
str.indexOf(‘要查找的字符’,[起始的位置])
第二个参数可以省略
var str='pink';
console.log(str.indexOf('n')); //2
- 根据字符返回位置
str.lastIndexOf() 从后往前开始查找
var str='pinkner';
console.log(str.lastIndexOf('n')); //4
- 根据位置返回字符
str.charAt(索引号)
var str4 = 'andy';
console.log(str4.charAt(3)); //'y'
- 根据位置返回字符
str.charCodeAt(索引号) 返回字符的ASCII值(可以判断用户按了哪个键)
var str4 = 'andy';
console.log(str4.charCodeAt(0)); //97(a的ASCII值是97)
案例:给定一个字符串,‘abaasdffggghhjjkkgfddsssss3444343’
- 字符串长度
- 取出指定位置的字符,如0,3,5,9
- 查找指定字符是否在给定的字符串中存在,如i,c,b
- 替换指定的字符,如g替换成22,ss替换成b
- 截取指定开始位置到结束位置的字符串,如从1~5
- 找出给定字符串中出现次数最多的字符及出现次数
var str11 = 'abaasdffggghhjjkkgfddsssss3444343';
//第一问
console.log(str11.length);
//第二问
console.log(str11.charAt(0));
console.log(str11.charAt(3));
console.log(str11.charAt(5));
console.log(str11.charAt(9));
//第三问
var num = str11.indexOf('i');
if (num == -1) {
console.log('不存在');
} else {
console.log('存在');
}
//第四问
while(str11.indexOf('g')!=-1){
str11=str11.replace('g','22');
}
console.log(str11);
//第五问
console.log(str11.substr(0, 5));
//第六问 找出给定字符串中出现次数最多的字符及出现次数
var str11 = 'abaasdffggghhjjkkgfddsssss3444343';
var O = {};
for (var i = 0; i < str11.length; i++) {
var chars1 = str11.charAt(i);
if (O[chars1]) {
O[chars1]++;
} else {
O[chars1] = 1;
}
}
var Max = 0;
for (var key in O) {
if (Max < O[key]) {
Max = O[key];
var ch1 = key;
}
}
console.log('出现次数最多的字符是' + ch1 + ',' + '出现了' + Max + '次');