森林海
2021-09-30 15:11:17
我有一個(gè)包含以下數(shù)據(jù)的數(shù)組:[ { download: 'Test1', user: 'email@email.com' }, { download: 'Test2', user: 'email2@email.com' }, { download: 'Test1', user: 'email3@email.com' }, { download: 'Test1', user: 'email4@email.com' }]我正在嘗試基于download字符串創(chuàng)建 2 個(gè)數(shù)組。因此,例如一個(gè)數(shù)組:[ { download: 'Test1', user: 'email@email.com' }, { download: 'Test1', user: 'email3@email.com' }, { download: 'Test1', user: 'email4@email.com' }]和另一個(gè)數(shù)組:[ { download: 'Test2', user: 'email2@email.com' },]這樣做的最佳方法是什么?我不能通過做 a 來過濾,download === 'Test2'因?yàn)閐ownload字符串總是會(huì)改變并且不同。這會(huì)是一份工作.reduce()嗎?
1 回答

喵喔喔
TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以使用 reduce 和 object 作為累加器,基于下載屬性值的俱樂部元素
let data = [ { download: 'Test1', user: 'email@email.com' },{ download: 'Test2', user: 'email2@email.com' },{ download: 'Test1', user: 'email3@email.com' },{ download: 'Test1', user: 'email4@email.com' }]
let final = data.reduce( (op,inp) => {
let {download} = inp
op[download] = op[download] || []
op[download].push(inp)
return op
},{})
console.log(final)
添加回答
舉報(bào)
0/150
提交
取消