ES6解构/克隆对象的子集

时间:2016-11-09 16:01:20

标签: ecmascript-6 destructuring

我仍然习惯于在ES2015 / ES6中进行解构,并想知道是否有一种很好的方法可以使用它来克隆某个对象的某些键。用语言解释有点困难,所以我会让代码进行说话。这是我目前所拥有的简化版本:

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

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

它有效,但似乎可以通过某种方式进行解构来简化它。可能类似于:

const objectWithDataSubset = objectWithLotsOfData {a, b};

显然这是无效的,但是存在这样的东西吗?

1 个答案:

答案 0 :(得分:0)

我不知道某种功能与您描述它的方式完全一致。

但是,使用ES6,您可以使用a shorter notation,其中键的名称等于包含该值的变量的名称,即{a: a, b: b}等同于{a, b}

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