Есть ли способ деструктурировать объект в новый объект в es6? - PullRequest
0 голосов
/ 17 мая 2018

Например, у меня есть этот объект:

const payload = {
    apple: 1,
    dog: 2,
    cat: 3
}

и я хочу преобразовать его в новый объект, который содержит только apple и dog:

const newPayload = {
    apple:1,
    dog: 2
}

Что-то вроде:

const {{apple, dog} : newPayload} = payload

Очевидно, вышеприведенное неверно, но интересно, есть ли способ сделать что-то подобное.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Возможно в два этапа:

const payload = {
    apple: 1,
    dog: 2,
    cat: 3
}

const { apple, dog } = payload

const newPayload = {
    apple,
    dog,
}

Или вы можете использовать lodash _.pick:

const newPayload = _.pick(payload, ['apple', 'dog'])
0 голосов
/ 17 мая 2018

Вы можете использовать delete:

const newPayload = { ...payload };

delete newPayload.cat

Или:

const { cat, ...newPayload } = payload;

В Lodash также есть omit():

const newPayload = _.omit(payload, ['cat']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...