I love these - I use jq daily and am always happy to read about it from another angle.
The author probably has internalized more of the manual than they realize, and maybe improved at least one explanation; FTA:
> map(...) let’s you unwrap an array, apply a filter and then rewrap the results back into an array. You can think of it as a shorthand for [ .[] | ... ] and it comes up quite a bit in my experience, so it’s worth it committing to memory.
Take each sub-item in `.` (the current item being processed), apply the function `x` to each sub-item, and collect all the result values from `x` into an array.
The author probably has internalized more of the manual than they realize, and maybe improved at least one explanation; FTA:
> map(...) let’s you unwrap an array, apply a filter and then rewrap the results back into an array. You can think of it as a shorthand for [ .[] | ... ] and it comes up quite a bit in my experience, so it’s worth it committing to memory.
From https://stedolan.github.io/jq/manual/#map(x),map_values(x) :
> map(x) is equivalent to [.[] | x]. In fact, this is how it's defined. Similarly, map_values(x) is defined as .[] |= x.
Note here the casual introduction of the update assignment operator, '|='