假设我有一个这样结构的对象数组
"err": [
{
"chk" : true,
"name": "test"
},
{
"chk" :true
"post": "test"
}
]
我怎样才能像这样重新构建它:
"err": [
{
"post": "test"
"name": "test"
}
]
我试过了
arr.filter(obj => delete obj.chk);
它可以成功删除
chk
属性,但是如何合并这两个对象呢? 最佳答案
您可以将它们扩展到 Object.assign
以创建一个新对象,然后从该对象中删除 chk
属性:
const err = [
{
"chk" : true,
"name": "test"
},
{
"chk" :true,
"post": "test"
}
];
const newObj = Object.assign({}, ...err);
delete newObj.chk;
console.log([newObj]);
另一种不删除的方法是在左侧解构
chk
,并使用 rest 语法:const err = [
{
"chk" : true,
"name": "test"
},
{
"chk" :true,
"post": "test"
}
];
const { chk: _, ...newObj } = Object.assign({}, ...err);
console.log([newObj]);