<!--
遍历对象循环
var arr = [10,20,30,40]
for(var i = 0; i< arr.length; i++){
arr[i]
}
arr.forEach(function(item,index){
})
遍历简单简单对象
for-in循环
语法:
for(var key in obj){
// key 属性名
// obj[key] 属性值
}
访问对象属性时: 如果属性名是一个变量,使用[]形式访问
比如:
var obj = {
name:'jack',
age:20
}
var key = 'name'
obj[key]
-->
</head>
<body>
<script>
// var obj = {
// name:'jack',
// age:20
// }
// var key = 'name'
// console.log( obj[key] );
var str = 'abcdefabcadefkmmkggcc'
var obj = {}
for(var i=0;i<str.length;i++){
var a = str.charAt(i)
if(obj[a]){
obj[a]++
}else{
obj[a] = 1
}
}
console.log(obj)
for(var key in obj){
console.log('key是'+key+' v是'+obj[key])
}
练习
<!--
1.统计字符串中不同字符的出现次数?
'abcdefabcadefkmmkggcc'
分析: 统计次数 - 计数器 count = 0 满足条件count++
计数器对象 - 统计多个字符出现次数
var numObj = {
a: 1,
b: 2,
c: 1,
...
}
如果计数器对象有 这个字符比如有a, a对应值加一
如果 ..........没有这个字符 计数器对象添加一个字符属性,属性值设置为1
-->
</head>
<body>
<script>
var numObj = {} //计数器对象
var str = 'abcdefabcadefkmmkggcc'
//遍历取数每个字符
for(var i = 0; i < str.length; i++){
var item = str.charAt(i) // 获取字符 item: a
if(numObj[item]){
numObj[item]++ // 如果计数器对象有 这个字符比如有a, a对应值加一
}else{
numObj[item] = 1 //没有这个字符 计数器对象添加一个字符属性,属性值设置为1
}
}
//打印计数器对象属性和值
for(var key in numObj){
console.log(key, ': ', numObj[key]);