Array to Map

Use this operator to convert an array to..a map. The indices are used as map keys, null values in the array are skipped over.

Behind the scenes, this is implemented using reduce:

(.[] | select(. != null) ) as $i ireduce({}; .[$i | key] = $i)

Simple example

Given a sample.yml file of:

  - null
  - null
  - hello


yq '.cool |= array_to_map' sample.yml

will output

  2: hello

Last updated