Каков наилучший способ разделения каждой пары на массив?
const myObject = {
firstName: 'John',
surname: 'Doe',
city: 'New York'
}
чтобы:
[{'firstName': 'John'}, {'surname': 'Doe'}, {'city': 'New York'}]
Btw, старые сообщения предлагают отображение lodash
const newArray = _.map(myObject, (value, key) => ({key, value}))
но он возвратит что-то вроде:
[ { key: 'firstName', value: 'John' },
{ key: 'surname', value: 'Doe' },
{ key: 'city', value: 'New York' } ]
Я не хочу, чтобы ключи были там.
Вы можете достичь требуемого результата с помощью простой JS:
Object.keys(myObject).map(key => ({[key]: myObject[key]}));
Этот подход использует вычисленные имена свойств ES2015.
Как предложено в комментариях, вы также можете использовать Object.entries
:
Object.entries(myObject).map(([p, v]) => ({[p]: v}))
Если вы хотите использовать lodash в любом случае, вы должны окружить key
квадратными скобками:
const newArray = _.map(myObject, (value, key) => ({[key], value}))
({ [key]: value })