0

I have an array of the following objects:

[{name : "Mariah" , quantity: 2},
{name : "Vincent" , quantity: 1},
{name :"Albert" , quantity: 1},
{name : "Patrick" , quantity: 1},
{name : "Vincent" , quantity: 2}]

I would like to sort this list based first on the quantity field and then alphabetically based on the name field Something like that

    [{name :"Albert" , quantity: 1},
    {name : "Patrick" , quantity: 1},
    {name : "Vincent" , quantity: 1},
    {name : "Mariah" , quantity: 2},
    {name : "Vincent" , quantity: 2}]
Dan
  • 59,490
  • 13
  • 101
  • 110

1 Answers1

-1

let list = [{name : "Mariah" , quantity: 2},
            {name : "Vincent" , quantity: 1},
            {name :"Albert" , quantity: 1},
            {name : "Patrick" , quantity: 1},
            {name : "Vincent" , quantity: 2}
           ]

let sort = list.sort(function(a,b){
  if (a.quantity != b.quantity){
    return a.quantity - b.quantity
  }else{
    return a.name.localeCompare(b.name)
  }
})

console.log(sort)
Majed Badawi
  • 27,616
  • 4
  • 25
  • 48