从js数组中移除对象知道它是Id

这个问题在这里已经有了答案:

  • 如何从JavaScript中的数组中删除特定的元素? 63个答案

  • 像这样尝试

    var id=2;
    var list=[
      { Id : 1,Name : 'a' },
      { Id : 2,Name : 'b' },
      { Id : 3,Name : 'c' }
    ];
    var index=list.map(function(x){ return x.Id; }).indexOf(id);
    
    list.splice(index,1);
    

    的jsfiddle


    你能试一下吗

    newArray = myArr
      .filter(function(element) {
        return element.id !== thisId;
      });
    

    有两种解决方案,一种是创建新实例,另一种是改变数组的实例。

    过滤:

    idToRemove = DESIRED_ID;
    
    myArr = myArr.filter(function(item) {
        return item.Id != idToRemove;
    });
    

    如您所见, filter方法返回已过滤数组的新实例。

    第二种选择是找到物品的索引,然后用splice删除它:

    idToRemove = DESIRED_ID;
    
    index = myArr.map(function(item) {
        return item.Id
    }).indexOf(idToRemove);
    
    myArr.splice(index, 1);
    
    链接地址: http://www.djcxy.com/p/19017.html

    上一篇: remove object from js array knowing it's Id

    下一篇: How to remove the matching element of the array