我有一个如下所示的对象:{"m":["bad-1", "ok", "also-ok", "bad-2", "bad-3"]}
我想仅保留m
中不以bad-
开头的值。
答案 0 :(得分:1)
因此:
.m |= map( select( startswith("bad-") | not ))
产生
{
"m": [
"ok",
"also-ok"
]
}
答案 1 :(得分:0)
此解决方案使用正则表达式和reduce
运算符:
reduce .[] as $item ([]; if ($item | test("^bad-")) then . else . + [$item] end)
我学到的东西:
reduce
运算符$item | test("^bad")
)