Информатика. 10 класс (Повышенный уровень)
Среди задач преобразования элементов массива можно выделить задачи следующих типов:
1. Изменение элементов массива в зависимости от условий.
2. Обмен местами элементов в массиве.
3. Удаление элемента из массива.
4. Вставка элемента в массив.
Некоторые из задач преобразования массивов встречаются очень часто. Поэтому в класс vector были добавлены функции, позволяющие преобразовывать массивы.
Многие из функций для преобразования векторов аналогичны функциям преобразования строк как по синтаксису, так и выполняемому действию. Список функций можно посмотреть в Приложении к главе 1.
Самый простой способ поменять местами строковые элементы массива?
Может быть в Js есть более элегантный способ? (ну как функция .SORT для сортировки) Или это единственный способ?
![]()
В современном js такой способ есть, называется деструктуризирующее присваивание (destructuring assignment):
Вот только IE11 и Андроиды так не умеют из коробки, если хочется писать так чтобы работало везде — придется транспилировать.
Еще есть везде-рабочий «ниндзя» способ, за который в приличном обществе бьют ногами за нечитаемость:
![]()
вот ещё одна старая рабочая «нидзя» для коррекции массива
массивы можно корректировать через метод, для понимания снабдив код комментариями.
можно написать метод c циклом с обращением к функции, и возвращением нового массива
для простоты будущего обращения с массивами, можно утяжелить решение задачи, по пути присвоения прототипу конструктора Array своего метода, который можно будит вызывать на всех массивах.
![]()
Меняем местами второй и третий элемент:
Функция меняет местами два элемента в массиве.
![]()
![]()
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43300
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.