Javascript/Typescript-从对象中删除

Javascript/Typescript-从对象中删除,javascript,typescript,Javascript,Typescript,如何删除包含过滤器1的所有对象 const obj = { 0: { 'filter1': { 'key1': { 'email1': 'email1' } } }, 1: { 'filter1': { 'key12': { 'email12': 'email12' } } }, 2: { 'filter2': { 'key2': {

如何删除包含
过滤器1
的所有对象

const obj = {
  0: {
    'filter1': {
      'key1': {
        'email1': 'email1'
      }
    }
  },
  1: {
    'filter1': {
      'key12': {
        'email12': 'email12'
      }
    }
  },
  2: {
    'filter2': {
      'key2': {
        'email2': 'email2'
      }
    }
  }
}

您可以使用
过滤器

obj = obj.filter(o => o.filter1 == undefined);
请参阅
过滤器
参考

p.s.本例中的
obj
var
而不是
const
,请参见下面的代码片段

var obj=[
{
“过滤器1”:{
“键1”:{
“email1”:“email1”
}
}
},
{
“过滤器1”:{
“键12”:{
“email12”:“email12”
}
}
},
{
“过滤器2”:{
“键2”:{
“email2”:“email2”
}
}
}
];
console.log(obj);//初始obj
obj=obj.filter(o=>o.filter1==未定义);

console.log(obj);//具有'filter1'属性的元素现在被删除
您可以使用
过滤器

obj = obj.filter(o => o.filter1 == undefined);
请参阅
过滤器
参考

p.s.本例中的
obj
var
而不是
const
,请参见下面的代码片段

var obj=[
{
“过滤器1”:{
“键1”:{
“email1”:“email1”
}
}
},
{
“过滤器1”:{
“键12”:{
“email12”:“email12”
}
}
},
{
“过滤器2”:{
“键2”:{
“email2”:“email2”
}
}
}
];
console.log(obj);//初始obj
obj=obj.filter(o=>o.filter1==未定义);
console.log(obj);//具有'filter1'属性的元素现在被删除
您可以使用它来获取新对象:

const newObject = Object.keys(obj).reduce((newObj, key) => {
  if (!obj[key].filter1) {
    newObj[key] = obj[key];
  }

  return newObj;
}, {});
const obj={
0: {
“过滤器1”:{
“键1”:{
“email1”:“email1”
}
}
},
1: {
“过滤器1”:{
“键12”:{
“email12”:“email12”
}
}
},
2: {
“过滤器2”:{
“键2”:{
“email2”:“email2”
}
}
}
};
const newObject=Object.keys(obj).reduce((newObj,key)=>{
如果(!obj[key].filter1){
newObj[key]=obj[key];
}
返回newObj;
}, {});
console.log(newObject)可用于获取新对象:

const newObject = Object.keys(obj).reduce((newObj, key) => {
  if (!obj[key].filter1) {
    newObj[key] = obj[key];
  }

  return newObj;
}, {});
const obj={
0: {
“过滤器1”:{
“键1”:{
“email1”:“email1”
}
}
},
1: {
“过滤器1”:{
“键12”:{
“email12”:“email12”
}
}
},
2: {
“过滤器2”:{
“键2”:{
“email2”:“email2”
}
}
}
};
const newObject=Object.keys(obj).reduce((newObj,key)=>{
如果(!obj[key].filter1){
newObj[key]=obj[key];
}
返回newObj;
}, {});
console.log(newObject)简单

  • 要删除对象,可以使用
    delete
    API
  • 要检查对象是否具有特定键,可以使用
    hasOwnProperty
    API
  • 你在这里能做的就是。首先循环
    obj
    中的所有键,然后检查其
    (对象)是否具有
    filter1
    属性。如果他们这样做了,则将其删除

    示例:

    const obj={
    0: {
    “过滤器1”:{
    “键1”:{
    “email1”:“email1”
    }
    }
    },
    1: {
    “过滤器1”:{
    “键12”:{
    “email12”:“email12”
    }
    }
    },
    2: {
    “过滤器2”:{
    “键2”:{
    “email2”:“email2”
    }
    }
    }
    };
    for(obj中的var键){
    var objectInKey=obj[key];
    if(objectinky.hasOwnProperty(“过滤器1”)){
    删除obj[键]
    }
    }
    log(JSON.stringify(obj,null,4));
    console.log(obj[0]);// 简单

  • 要删除对象,可以使用
    delete
    API
  • 要检查对象是否具有特定键,可以使用
    hasOwnProperty
    API
  • 你在这里能做的就是。首先循环
    obj
    中的所有键,然后检查其
    (对象)是否具有
    filter1
    属性。如果他们这样做了,则将其删除

    示例:

    const obj={
    0: {
    “过滤器1”:{
    “键1”:{
    “email1”:“email1”
    }
    }
    },
    1: {
    “过滤器1”:{
    “键12”:{
    “email12”:“email12”
    }
    }
    },
    2: {
    “过滤器2”:{
    “键2”:{
    “email2”:“email2”
    }
    }
    }
    };
    for(obj中的var键){
    var objectInKey=obj[key];
    if(objectinky.hasOwnProperty(“过滤器1”)){
    删除obj[键]
    }
    }
    log(JSON.stringify(obj,null,4));
    console.log(obj[0]);// 您可以使用获取键值对数组,然后使用筛选数据并将其转换回对象格式

    const obj={
    0:{'filter1':{'key1':{'email1':'email1'}},
    1:{'filter1':{'key12':{'email12':'email12'}},
    2:{'filter2':{'key2':{'email2':'email2'}}
    };
    log(Object.entries(obj).reduce((m[k,v])=>(v.filter1 | |(m[k]=v),m),{});
    //{“2”:{“filter2”:{“key2”:{“email2”:“email2”}}}}
    您可以使用获取键值对数组,然后使用筛选数据并将其转换回对象格式

    const obj={
    0:{'filter1':{'key1':{'email1':'email1'}},
    1:{'filter1':{'key12':{'email12':'email12'}},
    2:{'filter2':{'key2':{'email2':'email2'}}
    };
    log(Object.entries(obj).reduce((m[k,v])=>(v.filter1 | |(m[k]=v),m),{});
    //{“2”:{“filter2”:{“key2”:{“email2”:“email2”}}}}
    要就地修改对象(而不是复制它或创建数组),我只需使用一个简单的循环和一个delete:

    let k = Object.keys(obj);
    for (let i = 0; i < k.length ; i++ ) {
        if (obj[k[i]].hasOwnProperty('filter1')) delete obj[k[i]];
    }
    
    设k=Object.keys(obj);
    for(设i=0;i
    要就地修改对象(而不是复制或创建数组),我只需使用一个简单的循环和一个delete:

    let k = Object.keys(obj);
    for (let i = 0; i < k.length ; i++ ) {
        if (obj[k[i]].hasOwnProperty('filter1')) delete obj[k[i]];
    }
    
    设k=Object.keys(obj);
    for(设i=0;i
    我想要什么