2012-07-05 39 views
0

这就是我现在拥有的。看着周围,没有看到任何突然出现在我身上的东西。有没有更好的执行方式删除/删除我的对象myArray不存在data通过ID?更聪明的方法从javascript数组中删除id

for (m in myArray) { 
    var found = false; 
    _.each(data, function (p) { 
     if (p.id === m) { 
      found = true; 
     } 
    }); 
    if (!found) { 
     myArray[m].remove(); 
     delete myArray[m]; 
    } 
} 

回答

2

您只是想删除data中未包含的数组元素。为什么不只是过滤它们?

ids = _(data).pluck('id'); 
myArray = _(myArray).filter(function(x) { 
    return _(ids).include(x); 
}) 
+0

你钉死了!谢谢! – YurikoEX