js reduce数组转对象
生活随笔
收集整理的這篇文章主要介紹了
js reduce数组转对象
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
借鑒:https://juejin.im/post/5cfcaa7ae51d45109b01b161
這位大佬的處理方法很妙,但是我一眼看過(guò)去沒(méi)有明白,細(xì)細(xì)琢磨了下,終于明白了
1 const userList = [
2 {
3 id: 1,
4 username: 'john',
5 sex: 1,
6 email: 'john@163.com'
7 },
8 {
9 id: 2,
10 username: 'jerry',
11 sex: 1,
12 email: 'jerry@163.com'
13 },
14 {
15 id: 3,
16 username: 'nancy',
17 sex: 0,
18 email: ''
19 }
20 ];
21
22 const userObj = userList.reduce((acc, person) => {
23 return {...acc, [person.id]: person}
24 }, {})
25
26 console.log(userObj)
1 // 結(jié)果
2 {
3 '1': { id: 1, username: 'john', sex: 1, email: 'john@163.com' },
4 '2': { id: 2, username: 'jerry', sex: 1, email: 'jerry@163.com' },
5 '3': { id: 3, username: 'nancy', sex: 0, email: '' }
6 }
結(jié)合官方文檔一起服用,效果更佳https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
解讀:
acc是累機(jī)器,person是當(dāng)前值,{}是初始值
{}累加數(shù)組里面的每一項(xiàng),根據(jù)id為key,數(shù)組里的每一項(xiàng)為value
...acc是對(duì)象的解構(gòu)賦值,數(shù)組里的每一項(xiàng)對(duì)象都會(huì)被解構(gòu)賦值拷貝到新的對(duì)象上
注意品味[person.id]: person是變量的解構(gòu)賦值,從當(dāng)前對(duì)象person中提取id
總結(jié)
以上是生活随笔為你收集整理的js reduce数组转对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 投影仪对眼睛好还是电视对眼睛好(投影仪伤
- 下一篇: AIRPAK3.0用户指导手册第一部分手