将每对配对成数组的最佳方法是什么?
const myObject = {
firstName: 'John',
surname: 'Doe',
city: 'New York'
}
收件人:
[{'firstName': 'John'}, {'surname': 'Doe'}, {'city': 'New York'}]
顺便说一句,旧帖子建议使用lodash映射
const newArray = _.map(myObject, (value, key) => ({key, value}))
但是它会返回类似的内容:
[ { key: 'firstName', value: 'John' },
{ key: 'surname', value: 'Doe' },
{ key: 'city', value: 'New York' } ]
我不希望钥匙在那里。
答案 0 :(得分:1)
您可以使用纯JS实现所需的结果:
Object.keys(myObject).map(key => ({[key]: myObject[key]}));
此方法使用ES2015的computed property names。
如评论中所建议,您也可以使用Object.entries
:
Object.entries(myObject).map(([p, v]) => ({[p]: v}))
如果仍然要使用lodash,则应将key
用方括号括起来:
const newArray = _.map(myObject, (value, key) => ({[key], value}))