Cari objek Json menggunakan operator "AND", "OR".
P粉029327711
P粉029327711 2023-09-06 10:23:16
0
1
659

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粉029327711
P粉029327711

membalas semua(1)
P粉174151913

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';
}));
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan