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

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

作者: 追寻1989 | 来源:发表于2020-03-22 22: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 )

相关文章

网友评论

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

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