求对象数组的差集是我在开发中遇到的一个需求,场景是这样:用户第一次选择了1、2、3对象,并确定保存进了数据库,用户第二次进入的时候觉得不对,选择了3、4、5对象,然后保存进数据库。
这么一个需求的分析有:用户第二次选择的时候,3是不用做处理的,4、5是要新插入数据库的,而1、2是要在数据库中删除的,得给标识让数据库脚本识别并进行删除,不然就是垃圾数据
对于求对象数组的差集,我是想不到有什么其他高效的方法了,以下是我的处理方式,state为3表明是要进行删除的对象
// 第一次选择
var temp = [{
id: "1", state: 1 }, {
id: "2", state: 1 }, {
id: "3", state: 1 }];
// 第二次选择
var selected = [{
id: "3", state