Search code examples
javascriptarrayssortinglodashsub-array

How can I sort subarray of objects


I have a array like in below code:

[
  {
    "items": [
      { "name": "FRESH COCONUT WATER NAT PITCHER", "quantity": 50 },
      { "name": "COVERS", "quantity": 10,},
      { "name": "SPOONS", "quantity": 10,}, 
    ],
    "report_id": 60594,
  },
  {
    "items": [
      {"name": "FRESH COCONUT WATER NAT PITCHER","quantity": 50,},
      {"name": "COVERS", "quantity": 10,},
      {"name": "SPOONS", "quantity": 10,},
    ],
    "report_id": 60594,
  },
  
]

I need to sort the items array objects by their name in ascending order(A-Z)

I have tried using lodash but got no luck.

Thanks in advance.


Solution

  • You can use sortBy function of lodash.

    var users = [
      { 'user': 'fred',   'age': 48 },
      { 'user': 'barney', 'age': 36 },
      { 'user': 'fred',   'age': 40 },
      { 'user': 'barney', 'age': 34 }
    ];
     
    _.sortBy(users, [function(o) { return o.user; }]);
    // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]