[英]How to Filter Nested Array Object?
so I tried to sort data from 2 array objects, 所以我试图从2个数组对象中排序数据,
I have tried using Loadash to match the same ID between the two, but the results I want remain empty 我尝试使用Loadash在两者之间匹配相同的ID,但是我想要的结果仍然为空
Array A
{
"account": {
"_id": "5d1efe79dedfe54a984f27f7",
"status": "not verified",
"email": "garp@garp.com",
"name": "garp",
"phone": "12345",
"business_id": [
{
"role_capability": "all_access",
"current_active": true,
"_id": "5d1efe89dedfe54a984f27f9",
"date_created": "1562309081438",
"name": "balsem",
"status": "no verify",
"desc": "perusahaan balsem untuk nyeri otot"
},
{
"role_capability": "all_access",
"current_active": false,
"_id": "5d1efe9adedfe54a984f27fb",
"date_created": "1562309081438",
"name": "pulpen",
"status": "no verify",
"desc": "pulpen adalah alat untuk nulis"
},
{
"role_capability": "all_access",
"current_active": false,
"_id": "5d1efeacdedfe54a984f27fd",
"date_created": "1562309081438",
"name": "kaca mobil",
"status": "no verify",
"desc": "perusahaan yang bergerak di bidang kaca mobil"
}
]
}
}
Array B 阵列B
[
{
"_id": "5d1eebb0e3864b452044590a",
"address": "",
"status": "no verify",
"email": "qwe@qwe.com",
"name": "qwe",
"phone": "2123123",
"business_id": [
{
"_id": "5d1eebbde3864b452044590c",
"role_capability": "all_access"
},
{
"_id": "5d1ef967dedfe54a984f27ee",
"role_capability": "all_access"
}
]
},
{
"_id": "5d1efe20dedfe54a984f27f1",
"address": "",
"status": "not verified",
"email": "bart@bart.com",
"name": "Bartolomew",
"phone": "12344",
"business_id": [
{
"_id": "5d1efe4fdedfe54a984f27f3",
"role_capability": "all_access"
},
{
"_id": "5d1efe5ddedfe54a984f27f5",
"role_capability": "all_access"
}
]
},
{
"_id": "5d1efe79dedfe54a984f27f7",
"address": "",
"status": "not verified",
"email": "garp@garp.com",
"name": "garp",
"phone": "12345",
"business_id": [
{
"_id": "5d1efe89dedfe54a984f27f9",
"role_capability": "all_access"
},
{
"_id": "5d1efe9adedfe54a984f27fb",
"role_capability": "all_access"
},
{
"_id": "5d1efeacdedfe54a984f27fd",
"role_capability": "all_access"
}
]
},
{
"_id": "5d1efecededfe54a984f27ff",
"address": "",
"status": "not verified",
"email": "kizaru@kizaru.com",
"name": "kizaru",
"phone": "12345",
"business_id": [
{
"_id": "5d1efedededfe54a984f2801",
"role_capability": "all_access"
},
{
"_id": "5d1efef6dedfe54a984f2803",
"role_capability": "all_access"
}
]
}
]
Here's how I use it 这是我的用法
let respFilter
//first I sort the current_active data which is true
const busActive = _.filter(cookieActive, function(o) {return o.current_active === true; });
//Response data from axios / Array B
_.forEach(response.data, data => {
// Then i looping Array B to get an _id and filter with Array A
respFilter = _.filter(data, response.data[data] === busActive[0]._id)
})
//But i still get empty data
console.log('respoFIlt', respFilter)
result that i want:
{
"_id": "5d1efe79dedfe54a984f27f7",
"address": "",
"status": "not verified",
"email": "garp@garp.com",
"name": "garp",
"phone": "12345",
"business_id": [
{
"_id": "5d1efe89dedfe54a984f27f9",
"role_capability": "all_access"
},
{
"_id": "5d1efe9adedfe54a984f27fb",
"role_capability": "all_access"
},
{
"_id": "5d1efeacdedfe54a984f27fd",
"role_capability": "all_access"
}
]
},
How do I justify this? 我如何证明这一点? and what's wrong with my steps above.
我上面的步骤有什么问题。 sorry if there is a word wrong I use google translate for this
抱歉,如果有一个错误的单词,我为此使用了谷歌翻译
Thank you in advance 先感谢您
Just find
the item with the correct _id
in the second array: 只需在第二个数组中
find
具有正确_id
的项目即可:
const obj = {"account":{"_id":"5d1efe79dedfe54a984f27f7","status":"not verified","email":"garp@garp.com","name":"garp","phone":"12345","business_id":[{"role_capability":"all_access","current_active":true,"_id":"5d1efe89dedfe54a984f27f9","date_created":"1562309081438","name":"balsem","status":"no verify","desc":"perusahaan balsem untuk nyeri otot"},{"role_capability":"all_access","current_active":false,"_id":"5d1efe9adedfe54a984f27fb","date_created":"1562309081438","name":"pulpen","status":"no verify","desc":"pulpen adalah alat untuk nulis"},{"role_capability":"all_access","current_active":false,"_id":"5d1efeacdedfe54a984f27fd","date_created":"1562309081438","name":"kaca mobil","status":"no verify","desc":"perusahaan yang bergerak di bidang kaca mobil"}]}}; const arr = [{"_id":"5d1eebb0e3864b452044590a","address":"","status":"no verify","email":"qwe@qwe.com","name":"qwe","phone":"2123123","business_id":[{"_id":"5d1eebbde3864b452044590c","role_capability":"all_access"},{"_id":"5d1ef967dedfe54a984f27ee","role_capability":"all_access"}]},{"_id":"5d1efe20dedfe54a984f27f1","address":"","status":"not verified","email":"bart@bart.com","name":"Bartolomew","phone":"12344","business_id":[{"_id":"5d1efe4fdedfe54a984f27f3","role_capability":"all_access"},{"_id":"5d1efe5ddedfe54a984f27f5","role_capability":"all_access"}]},{"_id":"5d1efe79dedfe54a984f27f7","address":"","status":"not verified","email":"garp@garp.com","name":"garp","phone":"12345","business_id":[{"_id":"5d1efe89dedfe54a984f27f9","role_capability":"all_access"},{"_id":"5d1efe9adedfe54a984f27fb","role_capability":"all_access"},{"_id":"5d1efeacdedfe54a984f27fd","role_capability":"all_access"}]},{"_id":"5d1efecededfe54a984f27ff","address":"","status":"not verified","email":"kizaru@kizaru.com","name":"kizaru","phone":"12345","business_id":[{"_id":"5d1efedededfe54a984f2801","role_capability":"all_access"},{"_id":"5d1efef6dedfe54a984f2803","role_capability":"all_access"}]}]; const res = arr.find(({ _id }) => _id == obj.account._id); console.log(res);
.as-console-wrapper { max-height: 100% !important; top: auto; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.