有没有办法在es6中将对象解构为新对象?

IT技术 javascript reactjs ecmascript-6
2021-05-26 18:18:51

例如,我有这个对象:

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

我想把它解构成一个只包含apple的新对象dog

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

就像是:

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

显然上面是错误的,但想知道是否有办法做这样的事情。

谢谢!

2个回答

你可以使用delete

const newPayload = { ...payload };

delete newPayload.cat

或者:

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

Lodash 也有omit()

const newPayload = _.omit(payload, ['cat']);

大概分两步:

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

const { apple, dog } = payload

const newPayload = {
    apple,
    dog,
}

或者你可以使用 lodash _.pick

const newPayload = _.pick(payload, ['apple', 'dog'])