JavaScript Sting 对象

基本包装类型

var str = 'andy'
// 基本包装类型:把简单数据类型 包装成 复杂数据类型
// 1. 把简单数据类型包装为复杂数据类型
var temp = new String('andy')
// 2. 把临时变量的值 给 str
str = temp
// 3. 销毁这个临时变量
temp = null

常用方法

返回字符位置

var str = '改革春风吹满地,春天来了'
str.indexOf('春') // 2
str.indexof(str.indexOf('春', 3)) //从索引3开始往后查找 值为8

根据位置返回字符

// 1. charAt(index) 返回指定位置的字符
var str = 'andy'
str.charAt(3) // y
// 2. charCodeAt(index) 返回指定位置字符的ASCII码
var str = 'andy'
str.charCodeAt(0) // 97
// 3. str[index] H5新增 返回指定位置的字符 
var str = 'andy'
str[3] // y

字符串拼接和截取

// 1. concat('字符串1', '字符串2', ...) 等效于 + 拼接
var str = 'blue'
str.concat('red') // bluered
// 2. substr('截取的起始位置', '截取长度')
var str = '改革春风吹满地'
str.substr(2, 2) // 春风

替换字符

str.replace('被替换的字符','替换的字符') // 只替换第一个字符
var str = 'andy'
str.replace('a', 'b') // str = bndy

字符转换为数组

str.split('分隔符')
var str = 'red, pink, blue'
str.split(',') // ['red', 'pink', 'blue']

常见操作

求字符出现的位置和次数

var str = 'abcoefoxyozzopp'
var index = str.indexOf('o')
var num = 0
while (index !== -1) {
    console.log(index)
    num++
    index = str.indexOf('o', index + 1)
}
console.log('o出现的次数为:' + num)

统计出现次数最多的字符

// 1.统计出现次数
var str = 'abcoefoxyozzopp'
var o = {}
for (var i = 0;i < str.length;i++) {
    var chars = str.charAt(i)
    if (o[chars]) {
        o[chars]++
    } else {
        o[chars] = 1
    }
}
console.log(o)
// 2.遍历对象 找出次数最多的字符k
var max = 0
var ch =''
for (var k in o) {
    if (o[k] > max ) {
        max = o[k]
        ch = k
    }
}
console.log(max)
console.log('最多的字符是:' + ch)