js 使用jquery each遍历数组时删除数据元素有异常
作者:钓赛通
发布时间:2022-08-18
点击数:
今天在一个项目中,写前端。遇到一个小问题,记录一下。
js中,遍历数组中的对象,再通过判断是否跟其它的值相等,相等后就删除这个数组元素。
在这种情况下,最好不要用 jquery each 去操作,还是直接用 for;
// 弹出 if(e.type == 'datatable-on-uncheck'){ for (var k=0;k< goods_list_info.length;k++) { for (var j=0;j< args.length;j++) { if (goods_list_info[k].productId == args[j]) { var m = k; if (k == 0) { 如果等0时,m必须是1.不然不会删除。 m = 1; } goods_list_info.splice(k, m); } } } $('#kt_all_selected_records').html(goods_list_info.length); } // 压入 if(e.type == 'datatable-on-check'){ for (var j=0;j<= args.length;j++){ if(args[j] === undefined){ continue; } var goodsinfo = {}; goodsinfo.productId = args[j]; goodsinfo.name = $('#' + args[j]).val(); goodsinfo.canonicalImage = $('#' + args[j]).attr('data-canonicalImage'); goodsinfo.pc_url = $('#' + args[j]).attr('data-pc_url'); goodsinfo.canonicalVideo = $('#' + args[j]).attr('data-canonicalVideo'); goodsinfo.category_id = $('#' + args[j]).attr('data-category_id'); goods_list_info.push(goodsinfo); } $('#kt_all_selected_records').html(goods_list_info.length); }
多记录,少走弯路,天下功夫唯快不破!