请问大家这两组数据,如何做出筛选

qingwadaxia_1 2021-09-20 14:51:17

tab2:[
    {
        name: 111',
        numbers: 222
    },
 {
        name: 222,
        numbers: 666
    },
 {
        name: 333,
        numbers: 888
    }
]
tab3:{
        "fid": 111,
        "pigBatchEntry": [
            {
            "fid": 111,
            "parentId": 111,
            "pigBatchId": 333
           }
        ],
"fid": 111,
        "pigBatchEntry": [
            {
            "fid": 111,
            "parentId": 111,
            "pigBatchId": 666
           }
        ],
"fid": 111,
        "pigBatchEntry": [
            {
            "fid": 111,
            "parentId": 111,
            "pigBatchId": 777
           }
        ]
}
tab2 和 tab3 两组数据,请问我如何通过tab2的numbers属性值,和tab3的pigBatchId属性值,做比较,如果tab2的numbers == tab3的pigBatchId属性值,那就删除tab3的这组数据,请问如何用js实现

...全文
236 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
逍遥的心 2021-09-20
  • 打赏
  • 举报
回复
function delmatch(taba,cola,tabb,colb){
    var cola_s=cola.split('.')
    var colb_s=colb.split('.')
    var delarray=[]
    //console.log(cola_s,colb_s)
    taba.forEach(function(a) {
        var ai=a;
        for(var i=0;i<cola_s.length;i++)ai=ai[cola_s[i]]
        //console.log(ai)
        for(var j=tabb.length-1;j>=0;j--){
            var bi=tabb[j]
            for(var k=0;k<colb_s.length;k++)bi=bi[colb_s[k]]
            if(ai===bi){
                delarray.push(j)
            }
        }
    });
    //console.log(delarray)
    var doarray=Array.from(new Set(delarray))
    doarray.sort()
    for(var i=doarray.length-1;i>=0;i--)tabb.splice(doarray[i],1)
}

逍遥的心 2021-09-20
  • 打赏
  • 举报
回复

var tab2=
[
{
name: 111,
numbers: 222
},
{
name: 222,
numbers: 666
},
{
name: 333,
numbers: 888
}
]
var tab3=
[
{
"fid": 111,
"pigBatchEntry": [
{
"fid": 111,
"parentId": 111,
"pigBatchId": 333
}
]
},
{
"fid": 111,
"pigBatchEntry": [
{
"fid": 111,
"parentId": 111,
"pigBatchId": 666
}
]
},
{
"fid": 111,
"pigBatchEntry": [
{
"fid": 111,
"parentId": 111,
"pigBatchId": 777
}
]
}
];

逍遥的心 2021-09-20
  • 打赏
  • 举报
回复

/*
编写人:逍遥的心freeheart1977 2021-9-20
delmatch 从两个表中匹配,删除第二个表中的匹配项
taba 第一张表
cola 第一张表的匹配项。格式如 ..**
tabb 第二张表
colb 第二张表的匹配项。格式如 ..**
本例的调用为:
delmatch(tab2,'numbers',tab3,'pigBatchEntry.0.pigBatchId')
*/
function delmatch(taba,cola,tabb,colb){
var cola_s=cola.split('.')
var colb_s=colb.split('.')
var delarray=[]
//console.log(cola_s,colb_s)
taba.forEach(function(a) {
var ai=a;
for(var i=0;i<cola_s.length;i++)ai=ai[cola_s[i]]
//console.log(ai)
for(var j=tabb.length-1;j>=0;j--){
var bi=tabb[j]
for(var k=0;k<colb_s.length;k++)bi=bi[colb_s[k]]
if(ai===bi){
delarray.push(j)
}
}
});
//console.log(delarray)
var doarray=Array.from(new Set(delarray))
doarray.sort()
for(var i=doarray.length-1;i>=0;i--)tabb.splice(doarray[i],1)
}

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧