Sort two parameters inside data

This post from @FelicianoTech was really helpful:

data/portfolio_residential.json:

[
  {
    "favorite": "3",
    "project_name": "D"
  },
  {
    "favorite": "3",
    "project_name": "C"
  },
  {
    "favorite": "1",
    "project_name": "B"
  },
  {
    "favorite": "1",
    "project_name": "A"
  },

  {
    "favorite": "2",
    "project_name": "E"
  },
  {
    "favorite": "6",
    "project_name": "F"
  },
  {
    "favorite": "5",
    "project_name": "G"
  },
  {
    "favorite": "4",
    "project_name": "I"
  },
  {
    "favorite": "4",
    "project_name": "H"
  }
]

Template:

{{/* Build slice of unique, sorted favorites. */}}
{{- $favorites := slice -}}
{{- range .Site.Data.portfolio_residential -}}
  {{- $favorites = $favorites | append .favorite -}}
{{- end -}}
{{- $favorites = $favorites | uniq | sort -}}

{{/* Range over the sorted favorites, then range over a sorted subset of the data file. */}}
{{- range $favorites -}}
  {{- range where (sort $.Site.Data.portfolio_residential "project_name" "asc") "favorite" . -}}
    favorite = {{ .favorite }}<br>
    project_name = {{ .project_name }}<br><br>
  {{- end -}}
{{- end -}}
3 Likes