更智能的方法从javascript数组中删除id

时间:2012-07-05 03:39:30

标签: javascript arrays underscore.js

这就是我现在所拥有的。环顾四周,并没有看到任何突然出现在我身上的东西。是否有更好的方法来移除/删除myArray中的data 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];
    }
}

1 个答案:

答案 0 :(得分:2)

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

ids = _(data).pluck('id');
myArray = _(myArray).filter(function(x) {
  return _(ids).include(x);
})
相关问题