美文网首页
算法练习19:计算出当前网站出现过的所有标签

算法练习19:计算出当前网站出现过的所有标签

作者: miao8862 | 来源:发表于2021-05-06 12:36 被阅读0次

    计算出当前网站出现过的所有标签

    function getTageTypes() {
      let allTags = [...document.getElementsByTagName('*')].map(tag => tag.tagName)
      return new Set(allTags).size
    }
    

    淘宝首页计算标签数:


    image.png

    扩展:计算出出现最多次的前3种标签

    function getTageTypes() {
      // 获取所有标签
      let allTags = [...document.getElementsByTagName('*')].map(tag => tag.tagName)
      // 创建一个哈希表,用来存储标签出现的次数
      let obj = {}
      for(let i = 0; i < allTags.length; i++) {
        if(!obj[allTags[i]]) {
          obj[allTags[i]] = 1
        }else {
          obj[allTags[i]]++;
        }
      }
      // 对哈希表从大到小排序
      let tagSortArr = Object.keys(obj).sort((a, b) => obj[b] - obj[a])
      // 输出值最大的三种标签
      if(tagSortArr.length > 2) {
        return [tagSortArr[0], tagSortArr[1], tagSortArr[2]]
      }else {
        throw Error('不存在三个标签')
      }
    }
    

    淘宝首页计算出现最多的三种标签:


    image.png

    相关文章

      网友评论

          本文标题:算法练习19:计算出当前网站出现过的所有标签

          本文链接:https://www.haomeiwen.com/subject/jslrdltx.html