0
我有一个如下所示的对象:{"m":["bad-1", "ok", "also-ok", "bad-2", "bad-3"]}
我想只保留m
中不以bad-
开头的值。如何过滤掉数组中的值
我有一个如下所示的对象:{"m":["bad-1", "ok", "also-ok", "bad-2", "bad-3"]}
我想只保留m
中不以bad-
开头的值。如何过滤掉数组中的值
因此:
.m |= map(select(startswith("bad-") | not))
生产:
{
"m": [
"ok",
"also-ok"
]
}
该解决方案使用正则表达式和reduce
操作:
reduce .[] as $item ([]; if ($item | test("^bad-")) then . else . + [$item] end)
事情我了解到:
reduce
操作$item | test("^bad")
)