Sorting using sortBy method not working in underscore

Viewed 547

I am trying to sort an array of objects using underscore sortBy method the json is as follows

[
   {
      "styleId": 91,
      "styleName": "Style Label",
      "dataSourceId": 1,
      "dataSourceName": null,
      "stationeryId": 1,
      "stationeryName": null,
      "styleType": 1,
      "styleTypeName": "Labels",
      "isActive": true,
      "isPlainPaper": true,
      "isSystemMaintained": false,
      "isPublished": true,
      "designerUrl": null,
      "sourceStyleId": 0,
      "rowIndicatorCode": 2,
      "isDefault": null,
      "hasElement": true,
      "styleDesign": null,
      "createdBy": "real",
      "createdDate": 1494217733790,
      "modifiedBy": "superuser",
      "modifiedDate": 1494388952450,
      "rowVersion": "AAAAAAIC8ls="
   },
   {
      "styleId": 69,
      "styleName": "irtest",
      "dataSourceId": 1,
      "dataSourceName": null,
      "stationeryId": 16,
      "stationeryName": null,
      "styleType": 1,
      "styleTypeName": "Labels",
      "isActive": true,
      "isPlainPaper": false,
      "isSystemMaintained": false,
      "isPublished": true,
      "designerUrl": null,
      "sourceStyleId": 0,
      "rowIndicatorCode": 2,
      "isDefault": null,
      "hasElement": false,
      "styleDesign": null,
      "createdBy": "arun",
      "createdDate": 1493288218843,
      "modifiedBy": "real",
      "modifiedDate": 1494062410107,
      "rowVersion": "AAAAAAHZaDk="
   },
   {
      "styleId": 21,
      "styleName": "new style-copy",
      "dataSourceId": 1,
      "dataSourceName": null,
      "stationeryId": 5,
      "stationeryName": null,
      "styleType": 1,
      "styleTypeName": "Labels",
      "isActive": true,
      "isPlainPaper": false,
      "isSystemMaintained": false,
      "isPublished": true,
      "designerUrl": null,
      "sourceStyleId": 0,
      "rowIndicatorCode": 2,
      "isDefault": null,
      "hasElement": true,
      "styleDesign": null,
      "createdBy": "Nandita",
      "createdDate": 1493186162607,
      "modifiedBy": "Nandita",
      "modifiedDate": 1493186173807,
      "rowVersion": "AAAAAAEXEwI="
   },
   {
      "styleId": 97,
      "styleName": "style 1",
      "dataSourceId": 1,
      "dataSourceName": null,
      "stationeryId": 1,
      "stationeryName": null,
      "styleType": 1,
      "styleTypeName": "Labels",
      "isActive": true,
      "isPlainPaper": true,
      "isSystemMaintained": false,
      "isPublished": true,
      "designerUrl": null,
      "sourceStyleId": 0,
      "rowIndicatorCode": 2,
      "isDefault": null,
      "hasElement": true,
      "styleDesign": null,
      "createdBy": "real",
      "createdDate": 1494646737753,
      "modifiedBy": "real",
      "modifiedDate": 1494647127567,
      "rowVersion": "AAAAAAIxLKM="
   }
]

This is my sample json I am trying to sort this json by the field styleName like`

var result = _.sortBy(ctrl.styles, function (o) { return o.styleName; });

Result am getting is as follows

[
   {
      "styleId": 21,
      "styleName": "new style-copy",
      "dataSourceId": 1,
      "dataSourceName": null,
      "stationeryId": 5,
      "stationeryName": null,
      "styleType": 1,
      "styleTypeName": "Labels",
      "isActive": true,
      "isPlainPaper": false,
      "isSystemMaintained": false,
      "isPublished": true,
      "designerUrl": null,
      "sourceStyleId": 0,
      "rowIndicatorCode": 2,
      "isDefault": null,
      "hasElement": true,
      "styleDesign": null,
      "createdBy": "Nandita",
      "createdDate": 1493186162607,
      "modifiedBy": "Nandita",
      "modifiedDate": 1493186173807,
      "rowVersion": "AAAAAAEXEwI="
   },
   {
      "styleId": 69,
      "styleName": "irtest",
      "dataSourceId": 1,
      "dataSourceName": null,
      "stationeryId": 16,
      "stationeryName": null,
      "styleType": 1,
      "styleTypeName": "Labels",
      "isActive": true,
      "isPlainPaper": false,
      "isSystemMaintained": false,
      "isPublished": true,
      "designerUrl": null,
      "sourceStyleId": 0,
      "rowIndicatorCode": 2,
      "isDefault": null,
      "hasElement": false,
      "styleDesign": null,
      "createdBy": "arun",
      "createdDate": 1493288218843,
      "modifiedBy": "real",
      "modifiedDate": 1494062410107,
      "rowVersion": "AAAAAAHZaDk="
   },
   {
      "styleId": 91,
      "styleName": "Style Label",
      "dataSourceId": 1,
      "dataSourceName": null,
      "stationeryId": 1,
      "stationeryName": null,
      "styleType": 1,
      "styleTypeName": "Labels",
      "isActive": true,
      "isPlainPaper": true,
      "isSystemMaintained": false,
      "isPublished": true,
      "designerUrl": null,
      "sourceStyleId": 0,
      "rowIndicatorCode": 2,
      "isDefault": null,
      "hasElement": true,
      "styleDesign": null,
      "createdBy": "real",
      "createdDate": 1494217733790,
      "modifiedBy": "superuser",
      "modifiedDate": 1494388952450,
      "rowVersion": "AAAAAAIC8ls="
   },
   {
      "styleId": 97,
      "styleName": "style 1",
      "dataSourceId": 1,
      "dataSourceName": null,
      "stationeryId": 1,
      "stationeryName": null,
      "styleType": 1,
      "styleTypeName": "Labels",
      "isActive": true,
      "isPlainPaper": true,
      "isSystemMaintained": false,
      "isPublished": true,
      "designerUrl": null,
      "sourceStyleId": 0,
      "rowIndicatorCode": 2,
      "isDefault": null,
      "hasElement": true,
      "styleDesign": null,
      "createdBy": "real",
      "createdDate": 1494646737753,
      "modifiedBy": "real",
      "modifiedDate": 1494647127567,
      "rowVersion": "AAAAAAIxLKM="
   }
]

where ctrl.styles is the above JSON, Is there something am doing wrong?

2 Answers
Related