我遇到一个问题,需要使用条件运算符字符串搜索 JSON 对象。
JSON 对象看起来像
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'}
]
以及如下所示的条件字符串..
let condition =
'"Owner": "Vande Mataram" AND ("Application": "APIM" AND "Customer Code": "DJLFKASJF") OR ("Owner": "Vande Mataram" AND "Customer Code": "DJLFKASJF") OR "Owner": "Vande Mataram"'
没有互联网的运气...如何实现这个,我无法将其带到 SQL Server,因为它需要在 javascript 中完成。
我在网上搜索了将条件字符串拆分为按运算符(AND/OR)拆分的数组,并在json数据对象中进行一一搜索,但是每个请求的条件字符串都不同。并努力正确实施运算符(AND/OR)。我不确定这是最好的主意
我需要帮助如何解决这个问题以满足使用多个嵌套括号提供的任何类型的条件。
谢谢
Your Answer
1 个回答
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';
}));
Hot Questions
function_exists()无法判定自定义函数
2024-04-29 11:01:01
google 浏览器 手机版显示的怎么实现
2024-04-23 00:22:19
子窗口操作父窗口,输出没反应
2024-04-19 15:37:47
父窗口没有输出
2024-04-18 23:52:34
关于CSS思维导图的课件在哪?
2024-04-16 10:10:18
Hot Tools
vc9-vc14(32+64位)运行库合集(链接在下方)
phpStudy安装所需运行库集合下载
VC9 32位
VC9 32位 phpstudy集成安装环境运行库
php程序员工具箱完整版
程序员工具箱 v1.0 php集成环境
VC11 32位
VC11 32位 phpstudy集成安装环境运行库
SublimeText3汉化版
中文版,非常好用
热门话题
抖音等级价目表1-75
20338
7
20338
7
wifi显示无ip分配
13531
4
13531
4
虚拟手机号接收验证码
11853
4
11853
4
gmail邮箱登陆入口在哪里
8836
17
8836
17
windows安全中心怎么关闭
8421
7
8421
7
热门文章
2025年加密货币市场十大趋势预测:下一个风口在哪里?
2025-11-07
By DDD
币圈土狗项目如何识别?避免归零币的陷阱与风险预警
2025-11-07
By DDD
解决CSS @media 查询优先级与规则覆盖问题的教程
2025-11-07
By DDD
铁路12306支付失败订单还在吗_铁路12306支付失败订单处理方法
2025-11-07
By DDD
win10字体安装后在软件里找不到怎么办_win10字体安装与识别方法
2025-11-07
By DDD





