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")
)