javascript поменять местами элементы массива

Какой самый простой способ поменять местами 2 и 4 (к примеру элемент)? Кроме переприсваивания через дополнительную переменную типа

Может быть в Js есть более элегантный способ? (ну как функция .SORT для сортировки) Или это единственный способ?

Утка Учится Укрываться

В современном js такой способ есть, называется деструктуризирующее присваивание (destructuring assignment):

Вот только IE11 и Андроиды так не умеют из коробки, если хочется писать так чтобы работало везде — придется транспилировать.

Еще есть везде-рабочий «ниндзя» способ, за который в приличном обществе бьют ногами за нечитаемость:

вот ещё одна старая рабочая «нидзя» для коррекции массива

массивы можно корректировать через метод, для понимания снабдив код комментариями.

можно написать метод c циклом с обращением к функции, и возвращением нового массива

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

Простым перебором массива будет так:

спасибо, вот, что в итоге сделала я:

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Какой самый простой способ поменять местами 2 и 4 (к примеру элемент)? Кроме переприсваивания через дополнительную переменную типа

Может быть в Js есть более элегантный способ? (ну как функция .SORT для сортировки) Или это единственный способ?

3 ответа 3

В современном js такой способ есть, называется деструктуризирующее присваивание (destructuring assignment):

Вот только IE11 и Андроиды так не умеют из коробки, если хочется писать так чтобы работало везде — придется транспилировать.

Еще есть везде-рабочий «ниндзя» способ, за который в приличном обществе бьют ногами за нечитаемость:

вот ещё одна старая рабочая «нидзя» для коррекции массива

массивы можно корректировать через метод, для понимания снабдив код комментариями.

можно написать метод c циклом с обращением к функции, и возвращением нового массива

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

Оцените статью
SoftLast
Добавить комментарий