Сортировка объектов в массиве

Столкнулся со следующей проблемой. По какой логике должен работать фильтр, чтобы отсортировать интервалы в порядке возрастания?

Данный метод изначально выводит правильные интервалы, но под конец начинает вести себя странно и сортирует неверно. Подскажите в чем ошибка?

И правильно ли я вообще рассуждаю, что после правильной сортировки должно вывести в порядке возрастания следующее (по размеру интервала):

[0,100] [100,200] [50,250] [56,324] [null,400] [200,null] [500,null] [null,null] ?
let homes = [
        { prices: [0, 100] },
        { prices: [500, null] },
        { prices: [100, 200] },
        { prices: [null, 400] },
        { prices: [50, 250] },
        { prices: [200, null] },
        { prices: [56, 324] },
        { prices: [null, null] },
];

let filter = homes.sort(function(a, b) {
    return parseFloat(a.prices) - parseFloat(b.prices);
});

console.log(filter);  

Ответы (0 шт):