场景
批量数组(部分字段是用户操作过的)修改时,接口需要校验这些数据是否可操作和数据是否已经不存在,如果校验不通过,后端会返回一个被删除的集合和一个不可编辑的集合,前端首先需要隐藏被删除的数据,并在剩余的数据中讲不可编辑的置灰。
实现
const arr1=[{ id: 1,num:1}, { id: 2,num:2}, { id: 3,num:3}, { id: 4,num:4}];
const arr2=[{ id: 2,num:2}, { id: 3,num:3},];
const arr = arr1.filter(x => !arr2.some(y => y.id === x.id ))
// arr 为 [{id: 1, num: 1},{id: 4, num: 4}]
// 此时就去除了被删除的数据,接下来一步就是便利此数组和不可编辑的数据,将匹配到的数据改为不可编辑就好啦