-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docs: sort_by()
doesn't mention sorting by multiple keys of an object
#2467
Comments
Great addition i think. I didn't know about it and based on the test cases when it was added 11965aa it is intentional. Kind of neat. Also the implementation is neat, the output from the filter is collected in an array |
im against var agrs. chaining those sort_by/2 with pipe can create efficient multi-sorting pipeline, without extra use of |
Interesting. So in my case of parsing outputs=(${(f)"$(
kscreen-doctor --json |
jq --raw-output '
.outputs |
sort_by([.connected | not], [.name]) |
.[] |
[.id, .name, .connected] |
.[]
')"}) I'm a bit surprised that it didn't work as |
Hi, you might want $ jq -nc '{"connected": {"name": "b"}} | [.connected | not, .name]'
[false,"b"] (but if |
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#2169, close jqlang#1148) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036) - Add non-string examples of index/1, rindex/1 (close jqlang#1422)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#2169, close jqlang#1148) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036) - Add non-string examples of index/1, rindex/1 (close jqlang#1422)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#2169, close jqlang#1148) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036) - Add non-string examples of index/1, rindex/1 (close jqlang#1422)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036) - Add non-string examples of index/1, rindex/1 (close jqlang#1422)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
- Add error/0 and mentions null input behavior (close jqlang#2231) - Explain value iterator suffix syntax .foo[] (close jqlang#1047) - Mention array slicing is also zero-based (close jqlang#2094) - Add examples of input and inputs filters (close jqlang#2216, close jqlang#2470) - Improve sort_by about multiple values (close jqlang#2103, close jqlang#2467, close jqlang#2474) - Improve foreach section and simplify examples (close jqlang#1148, close jqlang#2169) - Fix recurse/1 document on how it is identical using recurse/2 (close jqlang#2036, close jqlang#2412) - Add non-string examples of index/1, rindex/1 (close jqlang#1422) - Simplify the example of truncate_stream/1 (close jqlang#1736)
I wanted to sort an array of objects by multiple keys (to break ties in the first key). The Manual doesn't describe this at all, but a Stack Overflow article showed that it works with
sort_by(key1, key2, ...)
.I propose to add this to the Manual.
Based on a comment from #2466 I'm just going to submit a PR and wait patiently until someone merges it. No rush, since anyone who needs to know this will almost certainly eventually find the information.
The text was updated successfully, but these errors were encountered: