相关疑难解决方法(0)

在ES6中按键过滤对象属性

让我们说我有一个对象:

{
  item1: { key: 'sdfd', value:'sdfd' },
  item2: { key: 'sdfd', value:'sdfd' },
  item3: { key: 'sdfd', value:'sdfd' }
}
Run Code Online (Sandbox Code Playgroud)

我想通过过滤上面的对象来创建另一个对象,所以我有类似的东西.

 {
    item1: { key: 'sdfd', value:'sdfd' },
    item3: { key: 'sdfd', value:'sdfd' }
 }
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种使用Es6实现这一目标的简洁方法,因此我可以使用扩展运算符.谢谢!

filter ecmascript-6

200
推荐指数
17
解决办法
21万
查看次数

优雅的方式只复制对象的一部分

我想通过从中复制一些属性来从较大的对象创建一个新对象.我知道的所有解决方案都不是很优雅,我想知道是否有更好的选择,如果可能的原生(没有像下面代码末尾那样的附加功能)?

这是我现在通常做的事情:

// I want to keep only x, y, and z properties:
let source = {
    x: 120,
    y: 200,
    z: 150,
    radius: 10,
    color: 'red',
};

// 1st method (not elegant, especially with even more properties):
let coords1 = {
    x: source.x,
    y: source.y,
    z: source.z,
};

// 2nd method (problem: it pollutes the current scope):
let {x, y, z} = source, coords2 = {x, y, z};

// 3rd method (quite hard to read for such simple task): …
Run Code Online (Sandbox Code Playgroud)

javascript javascript-objects

6
推荐指数
3
解决办法
474
查看次数