使用$.grep()修改数组
Alter array using $.grep()
目前,我使用$。grep从我传递的数组中过滤和删除元素。我相信这一点。grep本来只用于过滤,但由于它要遍历整个数组,所以我认为最好也改变它内部的数组。
你能建议其他的方法吗?我有一个关于美元的想法。
单独的$.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;
}
});
});
}
});
$。Map可用于从数组中删除项,只需使其返回null:
var items = [1, 2, 3, 4]
$.map(items, function(i) { if (i == 2) return null; return i; })
result: [1, 3, 4]
来自文档:
The function can return: * the translated value, which will be mapped to the resulting array * null or undefined, to remove the item
相关文章:
- JavaScript:如何在迭代过程中修改数组中的值
- Emscripten:调用修改数组元素的 C 函数
- 在循环时修改数组是否安全
- 无法通过在节点.js中切片来修改数组
- JavaScript/AngularJS修改数组中的属性
- 使用非对称数据修改数组
- 迭代时修改数组
- Javascript函数不修改数组(引用?)
- 如何修改数组中对象的属性
- 如何使用回溯递归修改数组元素
- 使用$.grep()修改数组
- 如何在Javascript中修改数组的内容
- 修改数组原型会导致foreach的行为不同
- 如何将字符串拆分为数组,修改数组然后应用于javascript中的字符串
- 修改数组对象的值
- 修改数组.forEach自动将上下文设置为调用者
- 修改数组中的每个单词
- Javascript修改数组对象属性
- 如何修改数组中的对象,然后返回该数组的新版本
- 修改数组字符串的值