배열 할 객체
모든 답변 중에서 나는 이것이 최고라고 생각합니다.
let arr = Object.entries(obj).map(([key, val]) => ({ key, ...val }))
그 변형 :
{
a: { p: 1, q: 2},
b: { p: 3, q: 4}
}
에:
[
{ key: 'a', p: 1, q: 2 },
{ key: 'b', p: 3, q: 4 }
]
객체 대 배열
되돌리려면 :
let obj = arr.reduce((obj, { key, ...val }) => { obj[key] = { ...val }; return obj; }, {})
키를 값으로 유지하면서 다시 변환하려면 :
let obj = arr.reduce((obj, { key, ...val }) => { obj[key] = { key, ...val }; return obj; }, {})
줄게:
{
a: { key: 'a', p: 1, q: 2 },
b: { key: 'b', p: 3, q: 4 }
}
마지막 예를 들어, 당신은 또한 lodash 사용할 수 있습니다 _.keyBy(arr, 'key')
또는 _.keyBy(arr, i => i.key)
.