假设我代码如下:
var arr = [{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'}];
我希望从数组中删除id=3的项。有什么办法可以做到这一点而不剪接呢?可能是用下划线还是类似的东西?
发布于 2018-03-27 10:21:41
使用unscore.js,您可以将.findWhere
替换为.without
:
var arr = [{
id: 1,
name: 'a'
}, {
id: 2,
name: 'b'
}, {
id: 3,
name: 'c'
}];
//substract third
arr = _.without(arr, _.findWhere(arr, {
id: 3
}));
console.log(arr);
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
尽管如此,由于您在本例中创建了一个新数组,所以您可以简单地使用_.filter
或者是本地人Array.prototype.filter
函数(如另一个问题中所示)。然后,您将只对数组进行一次迭代,而不是像这里那样重复一次。
https://stackoverflow.com/questions/-100007802
复制相似问题