javascript - Node.JS 使用 lodash 将子对象添加到对象

标签 javascript arrays node.js object lodash

我有一个看起来像这样的对象:

[{
     "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 来做到这一点?

最佳答案

您可以将 mapuniq 结合使用来获取对象中的所有唯一值。

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/

相关文章:

node.js - npm 审计修复没有改变任何东西

javascript - react 更新问题

javascript - IE8 支持 Math.ceil() 和 Math.round() 吗?

php - 使用php动态生成javascript

javascript - Meteor:自动表单模板问题将项目从0.9.3.1升级到1.2.0.2

javascript - 设置 JavaScript 数组

python - 如何将 1 大小的 numpy 数组整齐地转换为标量?当输入不是 1 大小的数组时,Numpy "asscalar"会给出错误。

javascript - 允许代理服务器接受随机数路由

php变量obj转js

node.js - NodeJS Websocket如何在服务器重新启动时重新连接