前端歌谣的刷题之路-第一百一十题-高频数据类型
  Fuy6dnbn2ffz 2023年12月05日 29 0


 

前言

我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷 本题目源自于牛客网 微信公众号前端小歌谣

题目

请补全JavaScript代码,要求找到参数数组中出现频次最高的数据类型,并且计算出出现的次数,要求以数组的形式返回。
注意:
1. 基本数据类型之外的任何引用数据类型皆为"object"
2. 当多种数据类型出现频次相同时将结果拼接在返回数组中,出现次数必须在数组的最后

前端歌谣的刷题之路-第一百一十题-高频数据类型_数据类型

前端歌谣的刷题之路-第一百一十题-高频数据类型_数组_02编辑

 核心代码

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>高频数据类型</title>
</head>

<body>
  <!-- 
    声明一个临时对象,用于存储数据类型和该数据类型出现的频次
    声明一个数组,用于返回结果
    声明一个数字,用于保存出现最高频的数据类型次数
    通过遍历数组,更新临时对象的内容并且修改数字
    最后通过遍历对象,判断是否存在某个数据类型出现的频次和当前最高频次的数据类型出现次数相等并进行拼接
 -->
  <script>
    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]
    }
  </script>
</body>

</html>

前端歌谣的刷题之路-第一百一十题-高频数据类型_数组_03

总结

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


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月05日 0

暂无评论

推荐阅读
Fuy6dnbn2ffz