假设我们有一个对象数组:
var obj = [{a: 1, b: 2, c: 3, d: 4, e: 5 },{a: 6, b: 7, c:
8, d: 9, e: 0 }];我们希望从这两个对象中删除键c,e。
怎么做呢?我发现的方法之一是:
['c', 'e'].forEach(e => delete obj[e]); //for object有没有其他的方法,所以我们不必使用双for循环。
发布于 2021-01-12 09:55:57
发布于 2021-01-12 10:01:57
您有两个选项来解决这个问题:
map(({ a,b,c,d,e }) => ({a,b,d}){ c, e, ...rest }增强选项1Object destructuring
const obj = { a: 1, b: 2, c: 3, d: 4, e: 5 } var {c, e} = obj; // c = 3, e = 5c,e隐式名称和名为rest的the remaining items。在此之后,您只需要获得rest项。选项1
var obj =
[
{ a: 1, b: 2, c: 3, d: 4, e: 5 },
{ a: 6, b: 7, c: 8, d: 9, e: 0 },
];
console.log(obj.map(({ a,b,c,d,e }) => ({a,b,d})));
选项2
var obj =
[
{ a: 1, b: 2, c: 3, d: 4, e: 5 },
{ a: 6, b: 7, c: 8, d: 9, e: 0 },
];
console.log(obj.map(({ c, e, ...rest }) => rest));
// ...rest: the same as `a,b,d`
https://stackoverflow.com/questions/65681500
复制相似问题