/ Published in: JavaScript
Using underscore.js, you could combine .findWhere with .without
Although, since you are creating a new array in this case anyway, you could simply use _.filter or the native Array.prototype.filter function (just like shown in the other question). Then you would only iterate over array once instead of potentially twice like here.
If you want to modify the array in-place, you have to use .splice. This is also shown in the other question and undescore doesn't seem to provide any useful function for that.
Although, since you are creating a new array in this case anyway, you could simply use _.filter or the native Array.prototype.filter function (just like shown in the other question). Then you would only iterate over array once instead of potentially twice like here.
If you want to modify the array in-place, you have to use .splice. This is also shown in the other question and undescore doesn't seem to provide any useful function for that.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
var arr = [{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'}]; arr = _.without(arr, _.findWhere(arr, {id: 3}));
URL: http://stackoverflow.com/questions/16994212/remove-an-item-from-array-using-underscorejs