javascript - JS:像 SQL 一样的 JSON 数据查询
问题描述
我有以下 JSON 数据
{
"pebble" {
"status" : "active"
},
"stone" {
"status" : "active"
},
"stone_ny" {
"status" : "active"
},
"stone_london" {
"status" : "active"
},
"stone_tokyo" {
"status" : "active"
}
}
在 JS 中,有没有办法让所有匹配 stone_.* 的行返回最后 3 行?
解决方案
只需使用一个简单的正则表达式来匹配石键,/stone_/gi
以这种方式使用:
var names = {
"pebble": {
"status": "active"
},
"stone": {
"status": "active"
},
"stone_ny": {
"status": "active"
},
"stone_london": {
"status": "active"
},
"stone_tokyo": {
"status": "active"
}
}
var matchedNames = {};
for (name in names) {
if (/stone_/gi.test(name)) {
matchedNames[name] = names[name];
}
}
console.log(matchedNames);
Explanation of regex:
- g = 全局,匹配字符串中模式的所有实例,而不仅仅是一个
- i = 不区分大小写(例如,/a/i 将匹配字符串“a”或“A”。
推荐阅读
- firebase - 如何使用firebase云功能pubsub.schedule?
- javascript - 如何用正则表达式排除特定数字?
- sql - 无论如何通过hive(HQL)将行值转换为列键?
- angular - 如何在 Angular 材料数据表中应用多个过滤器?
- node.js - mongodb聚合排序不按降序排序
- swift - swift中方法“replacingOccurrences(of:with:)”的运行时复杂度是多少
- python - 在 PyTorch 中复制子张量
- c# - 为什么我在这里收到 InvalidCastException?
- flutter - 键盘不会出现在颤动的网页视图中
- python - 从 Python 中的字符串中删除特定模式?