鍍金池/ 問(wèn)答/HTML/ 如何將object數(shù)組中id屬性提出一層創(chuàng)建新數(shù)組

如何將object數(shù)組中id屬性提出一層創(chuàng)建新數(shù)組

正在學(xué)習(xí)js,看到有文章提出應(yīng)該對(duì)數(shù)組做范式化設(shè)計(jì),現(xiàn)在碰到了一些疑惑。

原始數(shù)組:

[{id:"111",title:"title1",body:"body1"},
{id:"222",title:"title2",body:"body2"}]

原始數(shù)組

我想把id提出到外層來(lái),變成這樣

{111:{id:"111",title:"title1",body:"body1"},
222:{id:"222",title:"title2",body:"body2"}}

想要這樣

想學(xué)著用一下Object.assign或是其他方法,但怎么寫都報(bào)錯(cuò),求助大家指點(diǎn)一下

知道這樣寫只能復(fù)制原始數(shù)組
Object.keys(org).map(key => Object.assign({}, org[key]))
但是怎么提出一層呢?

回答
編輯回答
撿肥皂

優(yōu)雅的沒想出來(lái),簡(jiǎn)單粗暴的可以用下面這個(gè)

const arr = [
  { id: '111', title: 'title1', body: 'body1' },
  { id: '222', title: 'title2', body: 'body2' }
]

const obj = {}

arr.forEach(item => {
  obj[item.id] = item
})

console.log(obj)
2017年6月27日 09:47