js如何优雅地将一段含id的json转换成键名为该id的关联数组?

发布于 2022-09-04 11:01:23 字数 448 浏览 17 评论 0

[
    {
        "id": "1",
        "file_name": "fdsa",
        "size": "111",
        "modified_time": "2017-01-09 17:36:45.0",
        "password": "qqq"
    },
    {
        "id": "2",
        "file_name": "jkl",
        "size": "22",
        "modified_time": "2017-01-09 17:36:45.0",
        "password": "www"
    }
]

上面这段json如何优雅地将它转换为关联数组,并且该数组的键key为他的id。

我目前只知道用for循环依次遍历老数组,然后丢到一个新数组中,请问还有其他什么优雅的写法吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

夜雨飘雪 2022-09-11 11:01:23
const arr = [{
  "id": "1",
  "file_name": "fdsa",
  "size": "111",
  "modified_time": "2017-01-09 17:36:45.0",
  "password": "qqq"
}, {
  "id": "2",
  "file_name": "jkl",
  "size": "22",
  "modified_time": "2017-01-09 17:36:45.0",
  "password": "www"
}];

const data = arr.reduce((obj, v) => {
  obj[v.id] = v;
  return obj;
}, {});
顾北清歌寒 2022-09-11 11:01:23
[
    {
        "id": "1",
        "file_name": "fdsa",
        "size": "111",
        "modified_time": "2017-01-09 17:36:45.0",
        "password": "qqq"
    },
    {
        "id": "2",
        "file_name": "jkl",
        "size": "22",
        "modified_time": "2017-01-09 17:36:45.0",
        "password": "www"
    }
].map(function(item, index){
     return { [String(item.id)]: item}
})
狼亦尘 2022-09-11 11:01:23

谢邀,不知道你要转成什么样的结果,把id座位key,用forEach放进新的数组中挺好的。

雨落星ぅ辰 2022-09-11 11:01:23

Array.reduce也是个方法,不知道优雅是怎么定义的

享受孤独 2022-09-11 11:01:23

用for语句我认为最优雅,第一最直觉,第二最灵活,第三性能最好
除了代码会多写几行外,不知道有什么能比得上了呢?

JS中只有数组,没有关联数组这东西,你应该是指对象?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文