我有一个看起来像这样的对象:
[{
"id": 3298,
"kanji": "籲",
"part": "一 | 亅 个 ハ 冂 口 目 冊 竹 貝 頁 龠 廾",
"createdAt": "2018-04-16T02:27:33.993Z",
"updatedAt": "2018-04-16T02:27:33.993Z"
}, {
"id": 5801,
"kanji": "龥",
"part": "一 | 亅 个 ハ 冂 口 廾 目 冊 貝 頁 龠",
"createdAt": "2018-04-16T02:27:34.102Z",
"updatedAt": "2018-04-16T02:27:34.102Z"
}]
我想将其与一个包含唯一的汉字
和部分
的数组结合起来,并删除重复的部分。我希望它返回结果如下
{
"kanji": ["籲", "龥"],
"part": ["一", "|", "亅", "个", "ハ", "冂", "口", "目", "冊", "竹", "貝", "頁", "龠", "廾"]
}
如何使用 lodash
来做到这一点?
最佳答案
您可以将 map
与 uniq
结合使用来获取对象中的所有唯一值。
const data = [ { "id": 3298, "kanji": "籲", "part": "一 | 亅 个 ハ 冂 口 目 冊 竹 貝 頁 龠 廾", "createdAt": "2018-04-16T02:27:33.993Z", "updatedAt": "2018-04-16T02:27:33.993Z" }, { "id": 5801, "kanji": "龥", "part": "一 | 亅 个 ハ 冂 口 廾 目 冊 貝 頁 龠", "createdAt": "2018-04-16T02:27:34.102Z","updatedAt": "2018-04-16T02:27:34.102Z" } ];
const result = {
kanji : _(data).map('kanji').uniq().value(),
part : _(data).map('part').split(' ').uniq().value()
};
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>
关于javascript - Node.JS 使用 lodash 将子对象添加到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49850462/