Let*_*ren 5 javascript node.js lodash
我在Node.js中有以下对象和lodash"查询"(我只是node在终端中运行):
var obj = {
a: [{
b: [{
c: "apple"
},
{
d: "not apple"
},
{
c: "pineapple"
}]
}]
};
> _.get(obj, "a[0].b[0].c")
'apple'
> _.get(obj, "a[0].b[1].c")
undefined
> _.get(obj, "a[0].b[2].c")
'pineapple'
Run Code Online (Sandbox Code Playgroud)
我的问题是:有没有办法返回路径被发现有效的值数组?
例:
> _.get(obj, "a[].b[].c")
['apple', 'pineapple']
Run Code Online (Sandbox Code Playgroud)
正如 @Tomalak 在评论中建议的那样,解决方案是使用 JSONPath 而不是 Lodash。
他们的 github 页面: https: //github.com/dchester/jsonpath
例子:
> var jp = require("jsonpath")
> var obj = {
a: [{
b: [{
c: "apple"
},
{
d: "not apple"
},
{
c: "pineapple"
}]
}]
};
> jp.query(obj, "$.a[*].b[*].c")
[ 'apple', 'pineapple' ]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1427 次 |
| 最近记录: |