JS对象查询语法

Pie*_*tro 5 javascript jquery json json-query

我正在尝试使用类似于SQL的查询语法找到一种过滤器js集合的方法.

我发现完成此任务的唯一库是json-query.

它在某些情况下有效,但它有局限性.对于多个结果,不可能使用相同的查询或查询在不同的对象级别上进行查询.

以下是一些示例(以下面的数据结构作为参考)

 [{
           "type": "UU",
            "value": "100",
            "tipo": "G",
            "strumento": "P",
            "aspetto": "C",
            "unit": "ml"
        },
        {
            "type": "PS",
            "value": "120/88",
            "rilevamento": "Manuale",
            "lato": "SX",
            "part": "Supina",
            "unit": "mmHg"
        },
        {
            "type": "TP",
            "value": "33.6",
            "tipo": "T",
            "unit": "°C"
        },
        {
            "type": "VO",
            "value": "12",
            "tipo": "VOAL",
            "unit": "ml"
        },
        {
            "type": "RS",
            "value": "60",
            "unit": "atti/min"
        },
        {
            "type": "HH",
            "value": "180",
            "modalita": "R",
            "unit": "cm"
        },
        {
            "type": "AA",
            "value": "50",
            "unit": "cm"
        },
        {
            "type": "PO",
            "value": "70",
            "rilevamento": "Manuale",
            "tipo": "FA",
            "sede": "PC",
            "unit": "bpm"
        }
    ]
Run Code Online (Sandbox Code Playgroud)
  1. type = TP,值> 30

[type = TP&value> 30](适用于json查询)

  1. type = TP,值> 30 AND type = UU,值> 90

[type = TP&value> 30&type = UU,值> 90](不使用json-query)

Dha*_*iya 1

我认为你应该使用JsLinq

var myList = [
{FirstName:"Chris",LastName:"Pearson"},
{FirstName:"Kate",LastName:"Johnson"},
{FirstName:"Josh",LastName:"Sutherland"},
{FirstName:"John",LastName:"Ronald"},
{FirstName:"Steve",LastName:"Pinkerton"}    ];

var exampleArray = JSLINQ(myList)
.Where(function(item){ return item.FirstName == "Chris"; })
.OrderBy(function(item) { return item.FirstName; })
.Select(function(item){ return item.FirstName; });
Run Code Online (Sandbox Code Playgroud)