一个table
里面一堆数据,当然都是对象了。当我选中某些行时会把这些被选中的数据添加到一个新数组中,但是我并不知道这些数据在原数组中的下标,这时我点击删除按钮时应该需要把原数组中包含被选中的数据都给删掉,我想到了for
循环嵌套,但是这并不是一个很优美的写法,想请教诸位大神有没有更骚气又更牛逼的写法呢?
多谢指教!
一个table
里面一堆数据,当然都是对象了。当我选中某些行时会把这些被选中的数据添加到一个新数组中,但是我并不知道这些数据在原数组中的下标,这时我点击删除按钮时应该需要把原数组中包含被选中的数据都给删掉,我想到了for
循环嵌套,但是这并不是一个很优美的写法,想请教诸位大神有没有更骚气又更牛逼的写法呢?
多谢指教!
考虑下渲染table的那个数组,看看能不能按顺序渲染,就是按数组的下标去渲染,这样你选择table的时候,只要知道对应的index,不管是取数据还是删除数据都很简单了,取就是arr[index],删就是arr.splice(index, 1).
var arr = [
{ name: 'name-1', record_id: 1, is_deleted: 0 },
{ name: 'name-2', record_id: 2, is_deleted: 0 },
{ name: 'name-3', record_id: 3, is_deleted: 1 }
];
var add=[{ name: 'name-3', record_id: 3, is_deleted: 1 }];
function sd(a,b){
let j=b[0];
a.forEach((element,index) => {
if(JSON.stringify(element)==JSON.stringify(j)){
a.splice(index,1);
}
});
console.log(a)
return a;
}
sd(arr,add);
13 回答12.7k 阅读
7 回答1.8k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
6 回答773 阅读✓ 已解决
2 回答1.9k 阅读
6 回答1k 阅读
我给一个参考意见吧,不是放到两个数组中的。。。
记录加上标志位,被删除的不显示。如果要进行数据提交的话,可以过滤到删除的。