Javscript分解并分配给新对象

时间:2019-03-30 18:06:34

标签: javascript typescript destructuring

在Javascript / Typescript中,

要解构然后分配一个新对象的简短版本是什么:

const payload: MyPayload = { a: 1, b: 2, c: 3, d: 4, e: 5 }

// Destruct
const { a, c, e } = payload;

// New Obj
const newPayload = {
  a, c, e
};

3 个答案:

答案 0 :(得分:5)

您可以将destructuring assignment与对象一起使用,并将short hand properties与新对象一起使用。

const
    getParts = ({ a, c, e }) => ({ a, c, e }),
    payload = { a: 1, b: 2, c: 3, d: 4, e: 5 },
    parts = getParts(payload);

console.log(parts);

答案 1 :(得分:1)

您可以在解构过程中使用object rest创建对象:

const payload = { a: 1, b: 2, c: 3, d: 4, e: 5 }

const { b, d, ...newPayload } = payload

console.log(newPayload)

答案 2 :(得分:0)

您可以使用IIFE

const payload = { a: 1, b: 2, c: 3, d: 4, e: 5 }

const obj = (({a,c,e}) => ({a,c,e}))(payload)

console.log(obj)