我希望从像这样的集合中删除下划线
[{cod:"1", Desc: "Description1"}, {cod:"2", Desc: "Description2"}]
除某个鳕鱼以外的所有项目,例如1。
我该怎么办?
我知道我可以搜索for语句,但可以避免吗?
答案 0 :(得分:2)
你甚至不需要Underscore。
var filtered = arr.filter(function (item) {
return item.cod !== "1";
});
答案 1 :(得分:2)
var test = [{cod:"1", Desc: "Description1"},
{cod:"2", Desc: "Description2"},];
var t = _.without(test, _.findWhere(test, {cod: "1"}));
alert(JSON.stringify(t));
<强> JSFiddle 强>
答案 2 :(得分:1)
您可以使用_.filter
功能,就像这样
console.log(_.filter(array, function(currentItem) {
return currentItem.cod !== "1";
}));
# [ { cod: '2', Desc: 'Description2' } ]
或者您可以使用_.reject
功能,例如
console.log(_.reject(array, function(currentItem) {
return currentItem.cod === "1";
}));
# [ { cod: '2', Desc: 'Description2' } ]
或者您可以使用原生Array.prototype.filter
,就像这样
console.log(array.filter(function(currentItem) {
return currentItem.cod !== "1";
}));
# [ { cod: '2', Desc: 'Description2' } ]