Как поменять местами элементы в массиве
Перейти к содержимому

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

  • автор:

Информатика. 10 класс (Повышенный уровень)

Среди задач преобразования элементов массива можно выделить задачи следующих типов:

1. Изменение элементов массива в зависимости от условий.
2. Обмен местами элементов в массиве.
3. Удаление элемента из массива.
4. Вставка элемента в массив.

Некоторые из задач преобразования массивов встречаются очень часто. Поэтому в класс vector были добавлены функции, позволяющие преобразовывать массивы.

Многие из функций для преобразования векторов аналогичны функциям преобразования строк как по синтаксису, так и выполняемому действию. Список функций можно посмотреть в Приложении к главе 1.

Самый простой способ поменять местами строковые элементы массива?

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

Менеджер Типографии's user avatar

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

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

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

Утка Учится Укрываться's user avatar

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

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

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

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

L11VADIS's user avatar

Меняем местами второй и третий элемент:

Функция меняет местами два элемента в массиве.

Konstantin Chuykov's user avatar

Hedgehog's user avatar

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43300

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *