Как ускорить сортировку объекта?

Рейтинг: 0Ответов: 0Опубликовано: 22.05.2023

Написал простенькую функцию для сортировки в прямом и обратном порядке, но сортировка происходит с большой задержкой, хотя набор данных мизерный и хранится в памяти. Т.е. Если нажимать кнопку с задержкой примерно в секунду, то сортировка работает, а если её жмакать быстро, то выдаёт одинаково отсортированный объект постоянно.

<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>

Ответы

Ответов пока нет.