美文网首页
2019-11-20 提取数组中的对象属性去重并统计重复次数

2019-11-20 提取数组中的对象属性去重并统计重复次数

作者: 追寻1989 | 来源:发表于2019-11-20 09:05 被阅读0次

    假如需求是:我们需要获取一组文章列表的分类标签,要求提取的分类标签不重复,并且统计每个分类的文章数

    image.png

    在标签分类列表中经常用到这样的数据格式:

    let list=[
      {
        tagName:'杂谈'
        content:'文章1的内容'
      },
      {
        tagName:'资源分享'
        content:'文章2的内容'
      },
      {
        tagName:'踩坑'
        content:'文章3的内容'
      },
      {
        tagName:'资源分享'
        content:'文章4的内容'
      },
      {
        tagName:'知识库'
        content:'文章5的内容'
      },
      {
        tagName:'踩坑'
        content:'文章6的内容'
      },
    ]
    
    let listObj={}//创建一个对象,用来创建索引
    
    //提取文章分类标签,去重和统计文章出现次数
    list.forEach((item,index)=>{
      if (!listObj[item.tagName]) {//利用对象key索引,判断是否已有该标签分类字段
        listObj[item.tagName] = {//没有则创建key索引
          'tagName': item.tagName,
          'num': 1 //初始统计1
          }
      } else {//有则增加该重复次数统计
          ++listObj[item.tagName]['num']
      }
     });
          // console.log('listObj',listObj)
          // console.log('list',list)
    
     //索引对象转换成数组
        let newList = []
        for (var k in listObj) {
            newList.push({
               'col': listObj[k]['tagName'],
               'num': listObj[k]['num']
           })
        }
     // console.log('newList ',newList )
    

    此类应用还有很多,不得不说,利用对象的索引去重是真的好用,mark一下

    相关文章

      网友评论

          本文标题:2019-11-20 提取数组中的对象属性去重并统计重复次数

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