我有一个字符串数组,它们是数据库中博客文章的标签。
这是查询的最终结果示例:
["apple","banana", "apple", "orange","grapes","mango","banana"];
我需要知道一个字符串在该数组中重复了多少次,以便我可以构建一种标签云。
最终结果应如下所示: [{name:"apple",count:2}, {name:"banana", count:2}, {name: "orange",count:1} 。 ..];
我在我的项目中使用 lodash,如果可能的话希望使用它。纯 JavaScript 也可以。
最佳答案
您可以使用groupBy完成繁重的工作,然后使用 map 根据您的喜好格式化结果:
const data = ["apple", "banana", "apple", "orange", "grapes", "mango", "banana"];
const result = _.values(_.groupBy(data)).map(d => ({name: d[0], count: d.length}));
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
关于javascript - 使用 Lodash 计算字符串在数组中重复的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48295094/