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