ES6 destructuring/cloning 一个对象的子集
ES6 destructuring/cloning a subset of an object
我仍然习惯于 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};
显然这是无效的,但是有这样的东西存在吗?
我不知道某项功能完全按照您描述的方式工作。
但是,对于 ES6,您可以使用 a shorter notation,其中键的名称等于保存值的变量的名称,即 {a: a, b: b}
等同于 {a, b}
。
const {a, b} = objectWithLotsOfData;
const objectWithDataSubset = {a, b}
我仍然习惯于 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};
显然这是无效的,但是有这样的东西存在吗?
我不知道某项功能完全按照您描述的方式工作。
但是,对于 ES6,您可以使用 a shorter notation,其中键的名称等于保存值的变量的名称,即 {a: a, b: b}
等同于 {a, b}
。
const {a, b} = objectWithLotsOfData;
const objectWithDataSubset = {a, b}