首页 > 解决方案 > JS:将一个对象解构为另一个具有重命名属性的对象

问题描述

是否可以在 JS 中执行以下操作?

const obj = { a: 1, b: 2, c: 3 };

const copyObj = {...{ a: x, b: y, c: z } = obj };

我知道我可以这样做:

const { a: x, b: y, c: z } = obj;

const copyObj = { x, y, z };

但这不是我想要的。有什么建议么?

标签: javascriptecmascript-6javascript-objectsdestructuring

解决方案


您可以使用一个函数来获取想要和重命名的属性。

const
    rename = ({ a: x, b: y, c: z }) => ({ x, y, z }),
    obj = { a: 1, b: 2, c: 3 },
    copyObj = rename(obj);

console.log(copyObj);


推荐阅读