Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:删除对象中的数组元素_Javascript_Arrays_Object - Fatal编程技术网

JavaScript:删除对象中的数组元素

JavaScript:删除对象中的数组元素,javascript,arrays,object,Javascript,Arrays,Object,此对象: var Betreiber = { "user1": [ { "desc": "60", "Id": 3473631702, "Status": "offline" }, { "desc": "61", "Id": 3473631703, "Status": "offline" }

此对象:

var Betreiber = {
      "user1": [
        {
          "desc": "60",
          "Id": 3473631702,
          "Status": "offline"
        },
        {
          "desc": "61",
          "Id": 3473631703,
          "Status": "offline"
        }

      ],
      "user2": [
        {
          "desc": "62",
          "Id": 963346121,
          "Status": "offline"
        },
        {
          "desc": "63", 
          "Id": 963346122,      
          "Status": "offline"  
        }
      ],
      "user3": [
        {
          "desc": "64",
          "Id": 972878784
        },
        {
          "desc": "65",
          "Id": 3473631706,
          "Status": "offline"
        }
      ]
  }
我的代码:

 var anlagen = [963346121, 963346122]; 

 for(var users in Betreiber) {
   for(var k=0;k<anlagen.length; k++) {
   for(var ids in Betreiber[users]) {
       if(anlagen[k] != Betreiber[users][ids].Id ){
         delete Betreiber[users][ids];
       }
     }
   }
   if(Betreiber[users].length === 0) {
     delete Betreiber[users];
   }
 }
var anlagen=[963346121963346122]; for(Betreiber中的var用户){
对于(var k=0;k我想这就是你想要的:

var-Betreiber={
“用户1”:[{
“描述”:“60”,
“Id”:3473631702,
“状态”:“脱机”
},
{
“描述”:“61”,
“Id”:3473631703,
“状态”:“脱机”
}
],
“用户2”:[{
“描述”:“62”,
“Id”:963346121,
“状态”:“脱机”
},
{
“描述”:“63”,
“Id”:963346122,
“状态”:“脱机”
}
],
“用户3”:[{
“描述”:“64”,
“Id”:972878784
},
{
“描述”:“65”,
“Id”:3473631706,
“状态”:“脱机”
}
]
};
var anlagen=[963346121963346122];
Object.keys(Betreiber.forEach)(key=>{
Betreiber[key]=Betreiber[key]。筛选器(项=>{
返回anlagen.indexOf(item.Id)!=-1;
});
如果(!Betreiber[key].length){
删除Betreiber[键];
}
});

console.log(Betreiber);
我想这就是您想要的:

var-Betreiber={
“用户1”:[{
“描述”:“60”,
“Id”:3473631702,
“状态”:“脱机”
},
{
“描述”:“61”,
“Id”:3473631703,
“状态”:“脱机”
}
],
“用户2”:[{
“描述”:“62”,
“Id”:963346121,
“状态”:“脱机”
},
{
“描述”:“63”,
“Id”:963346122,
“状态”:“脱机”
}
],
“用户3”:[{
“描述”:“64”,
“Id”:972878784
},
{
“描述”:“65”,
“Id”:3473631706,
“状态”:“脱机”
}
]
};
var anlagen=[963346121963346122];
Object.keys(Betreiber.forEach)(key=>{
Betreiber[key]=Betreiber[key]。筛选器(项=>{
返回anlagen.indexOf(item.Id)!=-1;
});
如果(!Betreiber[key].length){
删除Betreiber[键];
}
});
console.log(Betreiber);
var-anlagen=[963346121963346122];
for(Betreiber中的var用户){
对于(变量k=0,len=anlagen.length;k
var anlagen=[963346121963346122];
for(Betreiber中的var用户){
对于(变量k=0,len=anlagen.length;k
我已经尝试了,拼接和删除方法…由于for循环,我无法让它工作。为什么不直接获取要保留的项目?我已经尝试了,拼接和删除方法…由于for循环,我无法让它工作。为什么不直接获取要保留的项目?添加
if(Betreiber[key].length==0){delete Betreiber[key];}
非常好用,谢谢。@tipsfedora-刚刚用代码更新了我的答案。添加
if(Betreiber[key].length==0){delete Betreiber[key];}
非常好用,谢谢。@tipsfedora-刚刚用代码更新了我的答案。
var anlagen = [963346121, 963346122]; 

for(var user in Betreiber) {
  for (var k = 0, len = anlagen.length; k < len; k++) {
   for (var j = 0, _len = Betreiber[user].length; j < _len; j++) {
     if (anlagen[k] != Betreiber[user][j].Id ) { 
       Betreiber[user].splice(j, 1);
     }
   }
  }
  if (Betreiber[user].length === 0) {
    delete Betreiber[user];
  }
}