我正在尝试使用lowdb来计算对象数组中的字符串数。
以下是我的对象示例:
{
"tags": [
"test",
"test2"
]
},
{
"tags": [
"test",
"test3"
]
}
我想得到这个:
{
test: 2,
test2: 1,
test3: 1
}
我已经成功地做到了这样:
_.each(selectAll().value(), (bookmark) => {
if (bookmark.tags.length > 0) {
_.each(bookmark.tags, (bookmarksTags) => {
if (!(bookmarksTags in tags)) {
tags[bookmarksTags] = 0
}
tags[bookmarksTags]++
})
}
})
它有效,但......它很难看,我不喜欢它。你知道更好更合适的Lodash吗?
答案 0 :(得分:0)
您可以使用普通javascript {/ 1}}和reduce()
。
forEach()

答案 1 :(得分:0)
使用Lodash的一种方式:
_.countBy(_.flatMap(arr,'tags'))
arr
是源数组
var o = [{ "tags": [ "test", "test2" ]},{ "tags": [ "test", "test3" ]}];
console.log(_.countBy(_.flatMap(o,'tags')));

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
&#13;