javascript - js如何优雅地将一段含id的json转换成键名为该id的关联数组?
巴扎黑
巴扎黑 2017-04-11 11:38:35
[JavaScript讨论组]
[
    {
        "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循环依次遍历老数组,然后丢到一个新数组中,请问还有其他什么优雅的写法吗?

巴扎黑
巴扎黑

全部回复(5)
高洛峰
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;
}, {});
怪我咯
[
    {
        "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}
})
迷茫

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

黄舟

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

ringa_lee

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号