Kod*_*der 6 javascript arrays lodash
我有一个字符串数组,它们是数据库中博客文章的标签。
这是查询的最终结果示例:
["apple","banana", "apple", "orange","grapes","mango","banana"];
Run Code Online (Sandbox Code Playgroud)
我需要知道一个字符串在该数组中重复了多少次,以便我可以构建一种标签云。
最终结果应如下所示: [{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);Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>Run Code Online (Sandbox Code Playgroud)