目前,我使用$.grep从我传递的数组中过滤和删除元素。我相信 $.grep 仅用于过滤,但由于它遍历整个数组,我想我也可以更改其中的数组。
您还有其他可以建议的方法吗?我有一个想法$.map,但 AFAIK 它应该用于翻译元素,而不是删除它们。
分开是$.each
我唯一的选择吗?
我的代码的相关部分:
$.each(filter, function (k, v) {
if (v.codeKeys) {
$.each(v.codeKeys, function (i, codeKey) {
rows = $.grep(rows, function (v2, i2) {
if ($.isArray(v2[v.dbColumn]) &&
$.inArray(codeKey, v2[v.dbColumn]) === -1) {
var index = $.inArray(codeKey ,v2[v.dbColumn]);
if (v2[v.dbColumn][index])
v2[v.dbColumn].remove(index);
return true;
}
else {
return v2[v.dbColumn] !== codeKey;
}
});
});
}
});