2016-11-09 78 views
2

我仍然习惯于ES2015/ES6中的解构,并想知道是否有一种很好的方法来克隆使用它的对象的某些键。用文字解释有点难,所以我会让代码进行交谈。这里是我现在的一个简化版本:ES6解构/克隆对象的子集

const objectWithLoadsOfData = { 
    a: 'a', 
    b: 'b', 
    c: 'c', 
    d: 'd' 
}; 

const objectWithDataSubset = { 
    a: objectWithLoadsOfData.a, 
    b: objectWithLoadsOfData.b 
} 

它的工作原理,但它似乎可以通过解构以某种方式简化。可能是这样的:

const objectWithDataSubset = objectWithLotsOfData {a, b}; 

显然,这是无效的,但有这样的事情存在?

回答

0

我不知道一种功能与您描述的方式完全相同。

然而,随着ES6可以使用a shorter notation其中关键的名称等于保存值的变量名,即{a: a, b: b}就等于{a, b}

const {a, b} = objectWithLotsOfData; 
const objectWithDataSubset = {a, b} 
+0

我从来没有想过使用左手任务,这不是一个糟糕的解决方法。一旦你开始使用正确的数据,它会变得非常大,但这可能是正确的答案。 –