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