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
我想要什么