arrs数组如何根据arr数组变化而改变 如果arr中的元素在arrs中存在就不管,不存就添加 ,arrs中有的arr中没有 就在arrs中删除此项
let arr = ["用例1", "用例3","用例4","用例5"];
let arrs = [
{
name: "用例1",
},
{
name: "用例2",
},
{
name: "用例3",
},
];
各位技术专家帮忙看看
遍历arrs,每次遍历去arr中去找这个元素,如果没有,就把这个元素下标记录下来。最后再遍历下标合集,统一删除arrs元素,完
你好,像这种情况要分两步进行,参考我的代码
const arr = ["用例1", "用例3","用例4","用例5"];
let arrs: any[] = []
// 第一步,先处理没有就添加的情况
arr.forEach(item => {
if (!arrs.some(v => v.name === item)) {
arrs.push({ name: item })
}
})
// 第二步,检查arr中没有的项,没有就删除,有就继续保留
arrs = arrs.flatMap(item => {
return arr.includes(item.name) ? [item] : []
})