Я пытаюсь отсортировать некоторые данные в коде моего клиентского интерфейса, но loda sh ведет себя странно.
Ни в одном из примеров я не нахожу использование данных в интерфейсе, поэтому я не уверен, что я делаю не так.
Предположим пример, где я хочу отсортировать товары по isInPriceList (по убыванию), listorder (по убыванию), имени (по возрастанию).
Смотрите мой пример stackblitz в https://stackblitz.com/edit/typescript-lodash-playground-kbtjbg
interface IProduct {
name: string;
isInPriceList: boolean;
listOrder: number;
}
...add some data
const sortedData = _.orderBy( data, p => [ p.isInPriceList, p.listOrder, p.name ], [ "desc", "desc", "asc"]);
Не удается отсортировать данные в указанном порядке, однако это работает:
let correctlySortedData = _.orderBy( data, p => p.name, "asc");
correctlySortedData = _.orderBy( correctlySortedData, p => p.listOrder, "desc" );
correctlySortedData = _.orderBy( correctlySortedData, p => p.isInPriceList, "desc" );
Я предполагаю, что что-то есть неправильно со вторым параметром.