统计数组中每个值出现的次数, 统计对象中每个字符出现的次数

 

//    统计数组中 相同值出现的次数
    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次

 

posted @ 2021-04-06 10:13  javascript9527  阅读(1624)  评论(0编辑  收藏  举报