【发布时间】:2018-11-02 10:14:57
【问题描述】:
是否可以将对象的某些键解包为新对象?
假设,我想将 3 个键(a、b、c)从 test 对象复制到一个新对象(abc)。下面提到的代码将起作用。
const test = {a:1, b:2, c:3, d:4, e:5 };
const {a, b, c} = test;
const abc = { a, b, c, f: 6};
有什么方法可以在一个语句中完成吗?
还有一种方法。
const test = {a:1, b:2, c:3, d:4, e:5 };
const abc = { ...test, f: 6};
但是使用这种方法,我以后必须删除不需要的密钥(在我的例子中是d、e)。
(最佳案例解决方案:如果我们不必跟踪不需要的键。可能有 n 个不需要的键。)
【问题讨论】:
-
只需写一个helper function。任何合理命名的助手都可能比一些超级复杂的解构/重组更具可读性。
标签: javascript object ecmascript-6 destructuring