创建一个子集对象,仅包含现有对象的一些属性

时间:2015-06-22 19:56:29

标签: javascript ecmascript-6

最好通过示例解释。以下工作在es6中创建一个由现有对象的一些键组成的对象:

var o = {a:1, b: 2, c: 3}
var {a, c} = o
var subsetObj = {a, c} // will be: {a:1, c:3}

这里有两个缺点:

  1. 创建所需的子集对象需要两个参数和两行,
  2. 我们不得不通过创建中间ac变量来污染局部变量范围,这些变量在本地不需要,除非作为创建子集对象的方法。
  3. 有没有办法在单个语句中完成相同的操作,而不引入不必要的本地ac

1 个答案:

答案 0 :(得分:4)

没有具体的语法。你可以继续这样做:

var subsetObj = {a: o.a, c: o.c};

如果您有更多属性或可变数量的属性,请创建辅助函数。

相关:Is it possible to destructure onto an existing object? (Javascript ES6)