JS:将一个对象解构为另一个具有重命名属性的对象
JS: Destructure an object into another with renamed properties
是否可以在 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 };
但这不是我想要的。有什么建议吗?
您可以使用一个函数来获取想要的和重命名的属性。
const
rename = ({ a: x, b: y, c: z }) => ({ x, y, z }),
obj = { a: 1, b: 2, c: 3 },
copyObj = rename(obj);
console.log(copyObj);
您可以使用 Immediately Invoked Function Expression
进行内联样式
const obj = { a: 1, b: 2, c: 3 }
const copyObj = { ...(({ a: x, b: y, c: z }) => ({ x, y, z }))(obj) }
console.log(copyObj)
是否可以在 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 };
但这不是我想要的。有什么建议吗?
您可以使用一个函数来获取想要的和重命名的属性。
const
rename = ({ a: x, b: y, c: z }) => ({ x, y, z }),
obj = { a: 1, b: 2, c: 3 },
copyObj = rename(obj);
console.log(copyObj);
您可以使用 Immediately Invoked Function Expression
进行内联样式const obj = { a: 1, b: 2, c: 3 }
const copyObj = { ...(({ a: x, b: y, c: z }) => ({ x, y, z }))(obj) }
console.log(copyObj)