找出数组对象中重复次数最多和最少的元素

以下仅适用于数据很小的情况,数据量大的情况下可能内存不够,计算时间也会很长

 // min || max 元素长度可能都大于一
  var arr = ['a', 'a', 'a', 'b', 'b', 'a', 'b', 'a', 'c', 'a', 'b', 'a', 'b', 'd']
  var obj ={}
  for (var i =0; i < arr.length; i++) {
    obj[arr[i]] = arr[i]
  }
  Object.keys(obj).forEach(item => obj[item]= arr.filter(e => e === obj[item]).length)

  var nums = Object.keys(obj).map(e => obj[e])
  var max = Math.max.call(null, nums.reduce((prev, next) => prev > next ? prev : next))
  var min = Math.min.call(null, nums.reduce((prev, next) => prev < next ? prev : next))
  var maxItem = Object.keys(obj).filter(e => obj[e] === max)
  var minItem = Object.keys(obj).filter(e => obj[e] === min)
  console.log(minItem)
  console.log(maxItem)
// console.log(obj)
// console.log(max)
// console.log(min)
var arr = ['a', 'a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c', 'd', 'e', 'd', 'f']
    var obj = {}
    for(var i = 0; i < arr.length; i++){
      if(obj.hasOwnProperty(arr[i]))
        obj[arr[i]] = ++obj[arr[i]]
      else
        obj[arr[i]] = 1
    }
    var max = Math.max.call(null, Object.values(obj).reduce((prev, next) => prev > next ? prev : next))
    var min = Math.min.call(null, Object.values(obj).reduce((prev, next) => prev < next ? prev : next))
    var maxItem = Object.keys(obj).filter(item => obj[item] === max)
    var minItem = Object.keys(obj).filter(item => obj[item] === min)
    console.log(obj)
    console.log(max, min)
    console.log(maxItem, minItem)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,192评论 2 89
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 30,023评论 8 265
  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 10,929评论 1 22
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,902评论 1 32
  • 土家阿妹很美,土家的三下锅呢? 我们刚到时就吃过了。到处三下锅,只不过香肠,腊肉,青椒,厥菜,我们常吃,因为吃过,...
    一叶紫阅读 472评论 0 0

友情链接更多精彩内容