I need to sort an array like the one below based on the difference between "over" "under" odds of a match, so the most balanced outcome goes to the first row of the main array!
var object = [
        [{"0.5": { "over": 1.2, "under": 3.8 }}], //difference 2.6
        [{"1.5": { "over": 1.5, "under": 2.8 }}], //difference 1.3
        [{"2.5": { "over": 1.9, "under": 2.0 }}], //difference 0.1
        [{"2.5": { "over": 2.2, "under": 1.8 }}], //difference 0.4
    ];
Like this
var object = [
    [{ "2.5": { "over": 1.9, "under": 2.0 } }], //difference 0.1
    [{ "2.5": { "over": 2.2, "under": 1.8 } }], //difference 0.4
    [{ "1.5": { "over": 1.5, "under": 2.8 } }], //difference 1.3
    [{ "0.5": { "over": 1.2, "under": 3.8 } }], //difference 2.6
];
I have read this post but it's not of any help in my case
Sort Complex Array of Arrays by value within
I just solved it. Thanks guys!
var obj = [{ value: 0.5, over: 1.2, under: 3.8 },
        { value: 1.5, over: 1.5, under: 3.2 },
        { value: 2.5, over: 1.8, under: 2.5 },
        { value: 3.5, over: 1.9, under: 1.9 },
        { value: 3.5, over: 2.5, under: 1.75 }];
obj.sort(function(a,b) { 
    return Math.min(Math.abs(parseFloat(b.over) - parseFloat(a.under)));
    });
 
     
    