假如需求是:我们需要获取一组文章列表的分类标签,要求提取的分类标签不重复,并且统计每个分类的文章数
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 )







网友评论