Rumah > Soal Jawab > teks badan
Saya menghadapi masalah di mana saya perlu mencari objek JSON menggunakan rentetan operator bersyarat.
Objek JSON kelihatan seperti
let Data = [ {Application: 'APIM', Owner: 'Vande Mataram','Customer Code': 'DJLFKASJF',Environment: 'Dev',OS: 'Linux',Region: 'EU','TEAM ': 'DemoTestCOE'}, {TEAM: 'BCC'}, {Team: 'DemoTestCOE','Customer Code': 'DJLFKASJF',Owner: 'Vande Mataram',Environment: 'Prod',Region: 'EU',Application: 'Ui-Path',OS: 'Windows'}, {Application: 'MGMT','Customer Code': 'DJLFKASJF', os: 'Windows','Owner ': 'Vande Mataram', Region: 'East US 2',Team: 'DemoTestCOE',Environment: 'MGMT' }, {Application: 'PIER',Owner: 'Govindarajulu Balaji',OS: 'Windows',Region: 'DemoTestCOE', Environment: 'QA'} ]
Dan rentetan syarat seperti di bawah..
let condition = '"Owner": "Vande Mataram" AND ("Application": "APIM" AND "Customer Code": "DJLFKASJF") OR ("Owner": "Vande Mataram" AND "Customer Code": "DJLFKASJF") OR "Owner": "Vande Mataram"'
Tiada nasib dengan internet... Bagaimana untuk melaksanakan ini, saya tidak boleh membawanya ke SQL Server kerana ia perlu dilakukan dalam javascript.
Saya mencari dalam talian untuk membahagikan rentetan syarat kepada pembahagian tatasusunan mengikut operator (DAN/ATAU) dan mencari dalam objek data json satu demi satu, tetapi rentetan syarat adalah berbeza untuk setiap permintaan. Dan berusaha melaksanakan pengendali (DAN/ATAU) dengan betul. Saya tidak pasti ini adalah idea terbaik
Saya memerlukan bantuan bagaimana untuk menyelesaikan masalah ini untuk memenuhi apa-apa jenis syarat yang disediakan menggunakan beberapa kurungan bersarang.
Terima kasih
P粉1741519132023-09-07 00:08:39
Data
只是一个对象数组,因此您可以使用 Array.filter
。
let Data = [ {Application: 'APIM', Owner: 'Vande Mataram','Customer Code': 'DJLFKASJF',Environment: 'Dev',OS: 'Linux',Region: 'EU','TEAM ': 'DemoTestCOE'}, {TEAM: 'BCC'}, {Team: 'DemoTestCOE','Customer Code': 'DJLFKASJF',Owner: 'Vande Mataram',Environment: 'Prod',Region: 'EU',Application: 'Ui-Path',OS: 'Windows'}, {Application: 'MGMT','Customer Code': 'DJLFKASJF', os: 'Windows','Owner ': 'Vande Mataram', Region: 'East US 2',Team: 'DemoTestCOE',Environment: 'MGMT' }, {Application: 'PIER',Owner: 'Govindarajulu Balaji',OS: 'Windows',Region: 'DemoTestCOE', Environment: 'QA'} ] // and the condition string like below.. /* let condition = '"Owner": "Vande Mataram" AND ("Application": "APIM" AND "Customer Code": "DJLFKASJF") OR ("Owner": "Vande Mataram" AND "Customer Code": "DJLFKASJF") OR "Owner": "Vande Mataram"' */ console.log(Data.filter(item => { return item.Owner === 'Vande Mataram' && (item.Application === "APIM" && item['Customer Code'] === "DJLFKASJF") || (item.Owner === 'Vande Mataram' && item['Customer Code'] === "DJLFKASJF") || item.Owner === 'Vande Mataram'; }));