Вам нужно запустить itemList.sort () перед возвратом itemList.map (), но мне кажется, что ваша проблема в том, что делать внутри функции сортировки, потому что вам нужно выполнить все эти условия, чтобы получить окончательное значение каждого колонка.
Сначала я рекомендую вам взглянуть на Документы MDN , если вы не уверены, как работает эта функция.
Теперь для сортировки по наблюдателю, например, вы будете делать что-то подобное
itemList.sort((a, b) => {
const aWatchers = (Number(a.listingInfo[0].watchCount).toFixed(0)) >= 0 ? (Number(a.listingInfo[0].watchCount)) : 0
const bWatchers = (Number(b.listingInfo[0].watchCount).toFixed(0)) >= 0 ? (Number(b.listingInfo[0].watchCount)) : 0
if (a < b) {
return -1
}
if (a > b) {
return -1
}
return 0;
});
Сначала вы подготавливаете свои данные, после чего вы можете выполнить условия возврата;
Если я неправильно понял вашу проблему, пожалуйста, дайте мне знать.