Remove an item from array using UnderscoreJS

后端 未结 11 2181
一向
一向 2020-12-04 06:02

Say I have this code

var arr = [{id:1,name:\'a\'},{id:2,name:\'b\'},{id:3,name:\'c\'}];

and I want to remove the item with id = 3 from the array. Is th

11条回答
  •  眼角桃花
    2020-12-04 06:37

    Underscore has a _without() method perfect for removing an item from an array, especially if you have the object to remove.

    Returns a copy of the array with all instances of the values removed.

    _.without(["bob", "sam", "fred"], "sam");
    
    => ["bob", "fred"]
    

    Works with more complex objects too.

    var bob = { Name: "Bob", Age: 35 };
    var sam = { Name: "Sam", Age: 19 };
    var fred = { Name: "Fred", Age: 50 };
    
    var people = [bob, sam, fred]
    
    _.without(people, sam);
    
    => [{ Name: "Bob", Age: 35 }, { Name: "Fred", Age: 50 }];
    

    If you don't have the item to remove, just a property of it, you can use _.findWhere and then _.without.

提交回复
热议问题