Какой самый простой способ поменять местами 2 и 4 (к примеру элемент)? Кроме переприсваивания через дополнительную переменную типа
Может быть в Js есть более элегантный способ? (ну как функция .SORT для сортировки) Или это единственный способ?
Утка Учится Укрываться
В современном js такой способ есть, называется деструктуризирующее присваивание (destructuring assignment):
Вот только IE11 и Андроиды так не умеют из коробки, если хочется писать так чтобы работало везде — придется транспилировать.
Еще есть везде-рабочий «ниндзя» способ, за который в приличном обществе бьют ногами за нечитаемость:
вот ещё одна старая рабочая «нидзя» для коррекции массива
массивы можно корректировать через метод, для понимания снабдив код комментариями.
можно написать метод c циклом с обращением к функции, и возвращением нового массива
для простоты будущего обращения с массивами, можно утяжелить решение задачи, по пути присвоения прототипу конструктора Array своего метода, который можно будит вызывать на всех массивах.
Простым перебором массива будет так:
спасибо, вот, что в итоге сделала я:
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Какой самый простой способ поменять местами 2 и 4 (к примеру элемент)? Кроме переприсваивания через дополнительную переменную типа
Может быть в Js есть более элегантный способ? (ну как функция .SORT для сортировки) Или это единственный способ?

3 ответа 3
В современном js такой способ есть, называется деструктуризирующее присваивание (destructuring assignment):
Вот только IE11 и Андроиды так не умеют из коробки, если хочется писать так чтобы работало везде — придется транспилировать.
Еще есть везде-рабочий «ниндзя» способ, за который в приличном обществе бьют ногами за нечитаемость:

вот ещё одна старая рабочая «нидзя» для коррекции массива
массивы можно корректировать через метод, для понимания снабдив код комментариями.
можно написать метод c циклом с обращением к функции, и возвращением нового массива
для простоты будущего обращения с массивами, можно утяжелить решение задачи, по пути присвоения прототипу конструктора Array своего метода, который можно будит вызывать на всех массивах.