Javascript 创建从数组到json对象的对象
我有一个像这样的对象数组Javascript 创建从数组到json对象的对象,javascript,jquery,Javascript,Jquery,我有一个像这样的对象数组 [ {"id": "1", "name": "test"}, {"id": "2", "name": "test2"}, {"id": "3", "name": "test3"} ] 我想把它转换成这个对象列表 { "1": {"name": "test"}, "2": {"name": "test2"}, "3": {"name": "test3"}, } 您可以使用: 旁注:请务必阅读并尽力理解T.J.关于您可能使用的的评论:
[
{"id": "1", "name": "test"},
{"id": "2", "name": "test2"},
{"id": "3", "name": "test3"}
]
我想把它转换成这个对象列表
{
"1": {"name": "test"},
"2": {"name": "test2"},
"3": {"name": "test3"},
}
您可以使用:
旁注:请务必阅读并尽力理解T.J.关于您可能使用的的评论:
旁注:请务必阅读并尝试理解T.J.关于“从数组创建对象到json对象”的评论。请注意,它不是“json对象”,它只是一个对象。JSON是一种用于数据交换的文本表示法。首先为什么不生成一个对象而不是一个对象数组?也许这个数组来自任何第三方脚本,但我不得不问它,“从数组到json对象创建对象”这不是一个“json对象”,它只是一个对象。JSON是一种用于数据交换的文本表示法。首先为什么不生成一个对象而不是一个对象数组?也许这个数组来自任何第三方脚本,但我不得不问它。@OP-注意
array#reduce
需要一个现代浏览器或垫片;如果您需要支持像IE8这样的旧浏览器,请搜索“es5 shim”以获得选项。@T.J.Crowder您是对的,但我们不是该停止告诉您了吗?毕竟,gmail很久以前就不再支持IE9了(这是一个问题,不是对评论的批评)。@dystroy:我的看法是,当全球有许多人仍在使用浏览器(IE8)时,它仍然是相关和重要的。尽管XP的最后期限已经过了,我怀疑我们还需要一段时间才能适应IE8。我甚至不能让6%的用户因为随机脚本错误而导致我的网站失败。而且这个注释很容易添加。当然,现在唯一重要的统计数据是自己网站的统计数据…@OP-注意Array#reduce
需要一个现代浏览器或垫片;如果您需要支持像IE8这样的旧浏览器,请搜索“es5 shim”以获得选项。@T.J.Crowder您是对的,但我们不是该停止告诉您了吗?毕竟,gmail很久以前就不再支持IE9了(这是一个问题,不是对评论的批评)。@dystroy:我的看法是,当全球有许多人仍在使用浏览器(IE8)时,它仍然是相关和重要的。尽管XP的最后期限已经过了,我怀疑我们还需要一段时间才能适应IE8。我甚至不能让6%的用户因为随机脚本错误而导致我的网站失败。而且这个注释很容易添加。现在当然,唯一真正重要的统计数据是自己网站的统计数据。。。
var obj = arr.reduce(function(m,o){ m[o.id]={name:o.name}; return m }, {});