I want to sort a json multilevel!! First sort by Sharia -> then by Volume[0] -> then by marketcap[0]
Non Sorted:
[
    {
        "Name": "Hcl",
        "sharia": true,
        "Volume": [
            25000,
            "moderate"
        ],
        "marketcap": [
            5000,
            "large"
        ]
    },
    {
        "Name": "rado",
        "sharia": false,
        "Volume": [
            50000,
            "high"
        ],
        "marketcap": [
            5000,
            "small"
        ]
    },
    {
        "Name": "ssinc ",
        "sharia": false,
        "Volume": [
            200,
            "low"
        ],
        "marketcap": [
            5000,
            "large"
        ]
    },
    {
        "Name": "sureshot",
        "sharia": false,
        "Volume": [
            20000,
            "moderate"
        ],
        "marketcap": [
            5000,
            "small"
        ]
    },
    {
        "Name": "Infosys",
        "sharia": true,
        "Volume": [
            50000,
            "high"
        ],
        "marketcap": [
            6000,
            "large"
        ]
    },
    {
        "Name": "orchid",
        "sharia": true,
        "Volume": [
            200,
            "low"
        ],
        "marketcap": [
            6000,
            "Large"
        ]
    },
    {
        "Name": "hero honda",
        "sharia": true,
        "Volume": [
            150,
            "low"
        ],
        "marketcap": [
            400,
            "medium "
        ]
    },
    {
        "Name": "bioffoz",
        "sharia": false,
        "Volume": [
            40000,
            "moderate"
        ],
        "marketcap": [
            5000,
            "large"
        ]
    }
]
As of now i am sorting once using the below function:
var sort_by = function(field, reverse, primer){
   var key = function (x) {return primer ? primer(x[field]) : x[field]};
   return function (a,b) {
       var A = key(a), B = key(b);
      return (A < B ? -1 : (A > B ? 1 : 0)) * [1,-1][+!!reverse];                
   }
}
For sorting A - Z
   company.sort(sort_by('Name', false, function(a){return a.toUpperCase()}));
For sorting Boolean:
company.sort(sort_by('sharia', true, function(a){return Boolean(a)}));
For sorting High to low:
company.sort(sort_by('sharia', true, parseint));
Sort By sharia(will look like this):
[
    {
        "Name": "Hcl",
        "sharia": true,
        "Volume": [
            25000,
            "moderate"
        ],
        "marketcap": [
            5000,
            "large"
        ]
    },
    {
        "Name": "orchid",
        "sharia": true,
        "Volume": [
            200,
            "low"
        ],
        "marketcap": [
            6000,
            "Large"
        ]
    },
    {
        "Name": "hero honda",
        "sharia": true,
        "Volume": [
            150,
            "low"
        ],
        "marketcap": [
            400,
            "medium "
        ]
    },
    {
        "Name": "Infosys",
        "sharia": true,
        "Volume": [
            50000,
            "high"
        ],
        "marketcap": [
            6000,
            "large"
        ]
    },
    {
        "Name": "ssinc ",
        "sharia": false,
        "Volume": [
            200,
            "low"
        ],
        "marketcap": [
            5000,
            "large"
        ]
    },
    {
        "Name": "sureshot",
        "sharia": false,
        "Volume": [
            20000,
            "moderate"
        ],
        "marketcap": [
            5000,
            "small"
        ]
    },
    {
        "Name": "rado",
        "sharia": false,
        "Volume": [
            50000,
            "high"
        ],
        "marketcap": [
            5000,
            "small"
        ]
    },
    {
        "Name": "bioffoz",
        "sharia": false,
        "Volume": [
            40000,
            "moderate"
        ],
        "marketcap": [
            5000,
            "large"
        ]
    }
]
then sort by volume
[
    {
        "Name": "Infosys",
        "sharia": true,
        "Volume": [
            50000,
            "high"
        ],
        "marketcap": [
            6000,
            "large"
        ]
    },
    {
        "Name": "Hcl",
        "sharia": true,
        "Volume": [
            25000,
            "moderate"
        ],
        "marketcap": [
            5000,
            "large"
        ]
    },
    {
        "Name": "orchid",
        "sharia": true,
        "Volume": [
            200,
            "low"
        ],
        "marketcap": [
            6000,
            "Large"
        ]
    },
    {
        "Name": "hero honda",
        "sharia": true,
        "Volume": [
            150,
            "low"
        ],
        "marketcap": [
            400,
            "medium "
        ]
    },
    {
        "Name": "rado",
        "sharia": false,
        "Volume": [
            50000,
            "high"
        ],
        "marketcap": [
            5000,
            "small"
        ]
    },
    {
        "Name": "bioffoz",
        "sharia": false,
        "Volume": [
            40000,
            "moderate"
        ],
        "marketcap": [
            5000,
            "large"
        ]
    },
    {
        "Name": "sureshot",
        "sharia": false,
        "Volume": [
            20000,
            "moderate"
        ],
        "marketcap": [
            5000,
            "small"
        ]
    },
    {
        "Name": "ssinc ",
        "sharia": false,
        "Volume": [
            200,
            "low"
        ],
        "marketcap": [
            5000,
            "large"
        ]
    }
]
All Sorted:
[
    {
        "Name": "Infosys",
        "sharia": true,
        "Volume": [
            50000,
            "high"
        ],
        "marketcap": [
            6000,
            "large"
        ]
    },
    {
        "Name": "Hcl",
        "sharia": true,
        "Volume": [
            25000,
            "moderate"
        ],
        "marketcap": [
            5000,
            "large"
        ]
    },
    {
        "Name": "orchid",
        "sharia": true,
        "Volume": [
            200,
            "low"
        ],
        "marketcap": [
            6000,
            "Large"
        ]
    },
    {
        "Name": "hero honda",
        "sharia": true,
        "Volume": [
            150,
            "low"
        ],
        "marketcap": [
            400,
            "medium "
        ]
    },
    {
        "Name": "rado",
        "sharia": false,
        "Volume": [
            50000,
            "high"
        ],
        "marketcap": [
            5000,
            "small"
        ]
    },
    {
        "Name": "bioffoz",
        "sharia": false,
        "Volume": [
            40000,
            "moderate"
        ],
        "marketcap": [
            5000,
            "large"
        ]
    },
    {
        "Name": "sureshot",
        "sharia": false,
        "Volume": [
            20000,
            "moderate"
        ],
        "marketcap": [
            5000,
            "small"
        ]
    },
    {
        "Name": "ssinc ",
        "sharia": false,
        "Volume": [
            200,
            "low"
        ],
        "marketcap": [
            5000,
            "large"
        ]
    }
]
 
     
    