统计数组中每个值出现的次数, 统计对象中每个字符出现的次数
// 统计数组中 相同值出现的次数
var ary = [1,2,1,1,1,2,3]
let obj = {}
for(let i = 0 ; i < ary.length; i++) {
if(obj[ary[i]]){ //如果obj中有值, +1 (如果数组中有值 是0,注意true 和 false 的转换)
obj[ary[i]] += 1
}else{ // 如果obj中没有这个对象,创建对象并赋值 为 1
obj[ary[i]] = 1
}
}
console.log(obj) //{1: 4, 2: 2, 3: 1}
for(let key in obj){
console.log('数组值'+ key,'出现次数'+ obj[key])
/*输出结果
* 数组值1 出现次数4
* 数组值2 出现次数2
* 数组值3 出现次数1
* */
}
//统计字符串中,每个字符出现的次数
let str = 'aabbbbcccccc'
let obj = {}
for(let i = 0; i < str.length; i++){
if(obj[str[i]]){ // 有值 +1
obj[str[i]] += 1
}else{ // 无值赋值
obj[str[i]] = 1
}
}
console.log(obj) // {a: 2, b: 4, c: 6}
for(let key in obj){
console.log(key+'出现的次数是',obj[key])
/*
* a出现的次数是 2
* b出现的次数是 4
* c出现的次数是 6
* */
}
//统计字符串中,每个字符出现的次数,并且统计出哪个出现的次数最多,出现了多少次
let str = 'aabbbbcccccc'
let obj = {}
for(let i = 0; i < str.length; i++){
if(obj[str[i]]){ // 有值 +1
obj[str[i]] += 1
}else{ // 无值赋值
obj[str[i]] = 1
}
}
console.log(obj) // {a: 2, b: 4, c: 6}
//定义一个对象,用来统计数据
let maxVlue = {
name:'',
count:0
}
for(let key in obj){
console.log(key+'出现的次数是',obj[key])
/*
* a出现的次数是 2
* b出现的次数是 4
* c出现的次数是 6
* */
if(obj[key] > maxVlue.count){
maxVlue.name = key
maxVlue.count = obj[key]
}
}
console.log(maxVlue.name+'出现的次数最多','一共出现了'+ maxVlue.count + '次')//c出现的次数最多 一共出现了6次