1.统计 字符串中 每个字符出现的次数(以对象的形式存储)
var str = 'aaabbbccddeeee'
var obj = {}
for(var i = 0; i < str.length; i++){
// if(obj[str[i]] === undefined){ //obj[str[i]] === undefined 的时候 做某些事
if(!obj[str[i]]){ /**
* 因为undefined转换为布尔值是false,所以如果 obj[str[i]]的值就是undefined的时候,那么布尔值就是false,加一个 ! 代表取反,所以实际得到的布尔值是 true
* obj[str[i]] 要么是undefined 要么是从1开始的数字
* 所以除了是 undefined 之外的其他情况,他的布尔值都是 true
* 加一个 ! 代表取反,所以实际得到的布尔值为 false
*/
obj[str[i]] = 1
}else{
obj[str[i]]++
}
}
console.log(obj)
2.反转字符串
var str = 'abcdef'
// var arr = str.split('')//1.将字符串转换为数组
//var newArr = arr.reverse()//2.将数组反转
// str = newArr.join('')//3.将反转后的数组重新合并为一个字符串
var str3 = str.split('').reverse().join('')
console.log(str3)
3.查询字符串
假设 str 存储的是后端反馈给我们的一个信息,var str = 'username=靓仔&age=18&qq=88888888'
- 需求1:将
'username=靓仔&age=18&qq=88888888'更改为{ username: '靓仔', age: 18, qq: 88888888 }
var str = 'username=靓仔&age=18&qq=88888888'
var obj = {}
var arr = str.split('&')
arr.forEach(function(item){
var itemInfo = item.split('=') // 一个数组['key','value']
obj[itemInfo[0]] = itemInfo[1] // 向对象内存储
})
console.log(obj)
- 需求2:将对象转换为 字符串
var obj = {
username: '靓仔',
age: 18,
qq: 88888888
}
for(var k in obj){
newStr += k + '=' + obj[k] + '&'
}
newStr = newStr.slice(0,-1)
console.log(newStr)