求教各位大佬,如何把下面的数组
[["Beijing","100"],["Shanghai","200"]["Guangzhou","300"]]
转换为
[{Beijing:"100"},{Shanghai:"200"},{Guangzhou:"300"}]
谢谢!!!
已解决
悬赏分:60
- 解决时间 2021-12-03 04:46
点赞 0反对 0举报 0
收藏 0
分享 0
回答3
最佳
-
[["Beijing","100"],["Shanghai","200"],["Guangzhou","300"]].reduce((s,v)=>(s.push({[v[0]]:v[1]}),s),[])
你有疑问的应该就是 [v[0]] 这个写法了。声明的时候使用方括号可以放表达式。
支持 0 反对 0 举报2021-12-02 10:44
-
const toObject = (arr) => { return arr.reduce((prev, curr) => { return [...prev, { [curr[0]]: curr[1] }] }, []) }
测试用例如下:
const region = [['Beijing', '100'], ['Shanghai', '200'], ['Guangzhou', '300']] const toObject = (arr) => { return arr.reduce((prev, curr) => { return [...prev, { [curr[0]]: curr[1] }] }, []) } const newObj = toObject(region) expect(newObj).toStrictEqual([{ Beijing: '100' }, { Shanghai: '200' }, { Guangzhou: '300' }])
支持 0 反对 0 举报2021-12-02 10:53
-
简单啊,我们来点优雅的代码
let newAreay = arr.map(e => ({ ‘’ + e[0]: e[1]}))
支持 0 反对 0 举报2021-12-02 11:55