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