Сначала создайте класс модели, который представляет ваш входящий объект, как показано ниже -
export class Countries {
country: string;
countryCode: string;
}
Затем инициализируйте его как массив объектов -
countriesModel : Countries [] = [];
Преобразуйте ваш JSON к модели путем ее анализа -
this.countryModel = JSON.parse(your_country-object);
После этого вызовите функцию sortCountries и передайте свойство в объекте, по которому вы хотите выполнить сортировку -
this.sortCountries(p => p.country, 'ASC');
Наконец, ваши функции сортировки тело должно выглядеть примерно так -
sortCountries<T>(countryName: (c: countriesModel) => T, order: 'ASC' | 'DESC'): void {
this.countriesModel.sort((a, b) => {
if (countryName(a) < countryName(b)) {
return -1;`enter code here`
} else if (countryName(a) > countryName(b)) {
return 1;
} else {
return 0;
}
});
if (order === 'DESC') {
this.countriesModel.reverse();
}
}