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实现
题主要的代码如下,有帮助麻烦点个采纳【本回答右上角】,谢谢~~
var obj = {
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,
"parentId": 111,
"pigBatchId": 666
},
{
"fid": 111,
"parentId": 111,
"pigBatchId": 777
}
]
}
};
for (var v of obj.tab2) {
var index = obj.tab3.pigBatchEntry.findIndex(item => item.pigBatchId == v.numbers);
if (index != -1) obj.tab3.pigBatchEntry.splice(index, 1);//找到numbers==pigBatchId的项下标执行删除
}
alert(JSON.stringify(obj.tab3))
用filter可以轻易筛选出属性值。
在线急等
感谢楼上两位的耐心解答, 两种都可以 非常感谢