Как ускорить сортировку объекта?
Написал простенькую функцию для сортировки в прямом и обратном порядке, но сортировка происходит с большой задержкой, хотя набор данных мизерный и хранится в памяти. Т.е. Если нажимать кнопку с задержкой примерно в секунду, то сортировка работает, а если её жмакать быстро, то выдаёт одинаково отсортированный объект постоянно.
<button >sort id</button>
<button >sort title</button>
<script>
let dataFetch =[];
let srt = 1;
let url = 'https://dummyjson.com/products?limit=10';//откуда берём JSON данные
async function getDataFetch() {
fetch(url, {
method: 'GET',
headers: {
'Content-Type': 'text/html;charset=utf-8'
},
})
.then((response) => response.json())
.then((data) => {
dataFetch = data[Object.keys(data)[0]];
})
}
function sort(field){
if(srt===1){
dataFetch.sort((a, b) => a[field] < b[field] ? 1 : -1);
srt=2;
}
else{
dataFetch.sort((b, a) => a[field] < b[field] ? 1 : -1);
srt=1;
}
console.log(dataFetch);
}
getDataFetch();
</script>
Источник: Stack Overflow на русском