JavaScript

JS - у меня есть две сортировки: по возрастанию и по убыванию. Как сделать так, что бы по нажатию одной кнопки...

Как сделать так, что бы по нажатию одной кнопки они переключались...
Я полагаю нужно что-то вроде toggle.? Но у меня не получается...
Переключение легко делается через флаг со значением либо true либо false. True - делаем одно, false - другое
arr = [9,5,0,7];
flag = true;
but.onclick = function () {
if (flag) {
arr.sort();
flag = false;
} else {
arr.sort();
arr.reverse();
flag = true;
}
alert(arr);
}
Берестов Сергей
Берестов Сергей
71 203
Лучший ответ
Леонид из СССР8 часов
Копь саувбол.

Ответить

15

Чаран Серый8 часов
Самые красивые девочки в Дагестане табасарански
и самые красивые бабушки тоже те же табасаранки

Ответить

-2

1 ответ
Мой канал4 часа
Да кумычки очень красивые

Ответить

5

Наби Муртазалиев4 часа
Если у человека красивое сердце то и всё остальное тоже у него красивое ...если у человека плохое сердце то всё остальное тоже у него плохое .

Ответить

8

Любовь Алексеева7 часов
Про лезгин вообще забыли???
Вы не лезгины вы кюринцы
тысячу лет аварцев считали
лезгинами
Roman Mihalash
Roman Mihalash
76 832
let arr = [5, 4, 15, 31, 154, 7];
let button = document.getElementById('button');

setSortToggler(arr, button);

function setSortToggler(arr, button) {
  let sorted = cacheSorted(arr);
  let index = 0;

  button.addEventListener('click', function() {
    console.log( sorted[ index ] );
    index = +!index;
  });

  function cacheSorted(arr) {
    let toUp = arr.sort((a, b) => +a - +b);
    let toLow = toUp.slice().reverse();
    return [ toUp, toLow ];
  }
}