2016-11-09 110 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

我從來沒有想過使用左手任務,這不是一個糟糕的解決方法。一旦你開始使用正確的數據,它會變得非常大,但這可能是正確的答案。 –