如何使用ES6扩展运算符和rest运算符从数组或对象中删除特定元素

时间:2018-03-13 05:48:37

标签: javascript reactjs ecmascript-6 spread-syntax

我想做这样的事情。 有像

这样的对象
obj = { a: "xxx", b: "xxx", c: "xxx", d: "xxx", e: "xxx", f: "xxx" }

我想删除属性cd的值,并将它们放在像arr = ["xxx" , "xxx"]这样的数组中。然后我想将此数组添加到obj对象

obj = { a: "xxx", b: "xxx",  c: ["xxx", "xxx"], e: "xxx", f: "xxx" }

使用ES6传播和休息算子

就可以了

如果我必须删除n数的值(未知它可以是1或2或3 ..)属性并将它们放在数组中,如上所述我已解释

1 个答案:

答案 0 :(得分:0)

你可以使用解构和临时效果来做到这一点。

const obj = {a:"xxx" , b:"xxx", c:"xxx" , d:"xxx" , e:"xxx", f:"xxx"}

const { c, d, ...rest} = obj; // pick props you want to remove and keep rest

// create a new object by spreading `rest` and adding new property
console.log({...rest, c: [c, d]});