38_高频数据类型

本题考点:类型判断、遍历

根据题目要求,找到参数数组中出现频次最高的数据类型,并且计算出出现的次数,核心步骤有:

  1. 声明一个临时对象,用于存储数据类型和该数据类型出现的频次
  2. 声明一个数组,用于返回结果
  3. 声明一个数字,用于保存出现最高频的数据类型次数
  4. 通过遍历数组,更新临时对象的内容并且修改数字
  5. 最后通过遍历对象,判断是否存在某个数据类型出现的频次和当前最高频次的数据类型出现次数相等并进行拼接

参考答案

const _findMostType = array => {
    let tem = {}
    let arr = []
    let num = 0
    for(key of array) {
        let type = typeof key
        if(tem[type]) {
            tem[type] ++
        } else {
            tem[type] = 1
        }
        num = tem[type] > num ? tem[type] : num
    }
    for(key in tem) {
        arr = tem[key] === num ? [...arr,key] : arr
    }
    return [...arr,num]
}