NodeJS JSON阵列过滤

use*_*280 2 sql arrays json filter node.js

我使用Node从SQL中检索一组结果,它们就像这样返回;

[
   {
   "event_id": 111111,
   "date_time": "2012-11-16T01:59:07.000Z",
   "agent_addr": "127.0.0.1",
   "priority": 6,
   "message": "aaaaaaaaa",
   "up_time": 9015040,
   "hostname": "bbbbbbb",
   "context": "ccccccc"
},
   {
   "event_id": 111112,
   "date_time": "2012-11-16T01:59:07.000Z",
   "agent_addr": "127.0.0.1",
   "priority": 6,
   "message": "aaaaaaaaa",
   "up_time": 9015040,
   "hostname": "bbbbbbb",
   "context": "ddddddd"
},
]
Run Code Online (Sandbox Code Playgroud)

数组中通常有很多条目,我需要有效地过滤数组,以便只显示具有"ccccccc"上下文的条目.我尝试过for循环,但速度非常慢.

任何建议?

小智 5

有一种非常简单的方法,如果你想在节点中这样做,并且不想使用sql,你可以使用javascript内置的Array.filter函数.

var output = arr.filter(function(x){return x.context=="ccccccc"}); //arr here is you result array
Run Code Online (Sandbox Code Playgroud)

输出数组将仅包含具有上下文"ccccccc"的对象.