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

Как в массиве заменить один элемент на другой

  • автор:

Вставка, удаление и замена элементов с помощью Array.splice()

Когда нужно произвести какие-то изменения в массиве, метод JavaScript splice может прийти на помощь. Он позволяет осуществлять вставку, удаление и замену элементов в массиве JavaScript .

Рассмотрим аргументы, передаваемые в метод splice() .

Array.splice (start_index, number_of_elements_to_remove) :

  • start_index — индекс в массиве, с которого начинается вставка или удаление элементов;
  • number_of_elements_to_remove — задает количество элементов, которое необходимо удалить, начиная со star_index .

Все элементы, следующие за number_of_elements_to_remove , будут вставлены в массив, начиная с start_index . Они могут быть любого типа, включая строки, числа, булевы значения, объекты, функции, NULL , undefined , и т.д.

Для более детального изучения параметров метода Array.prototype.splice() Javascript воспользуйтесь MDN.

Давайте начнем с простого примера, демонстрирующего, как вставить число в массив с помощью метода Array.splice() .

Представьте, что у нас есть массив [1,3,4] , и мы хотим вставить в него 2 между 1 и 3 . Пример реализации:

var my_array = [1,3,4]; var start_index = 1; var number_of_elements_to_remove = 0; my_array.splice(start_index, number_of_elements_to_remove, 2); console.log(my_array); //[1,2,3,4];

Обратите внимание, что JavaScript array splice воздействует непосредственно на массив. Таким образом, вызванный my_array метод splace() вместо того, чтобы вернуть новый массив, обновит my_array .

Пример удаления элемента из массива в JavaScript :

var my_array = ["a","b","c","k","d"]; var start_index = 3 var number_of_elements_to_remove = 1; var removed_elements = my_array.splice(start_index, number_of_elements_to_remove); console.log(removed_elements); //["k"] console.log(my_array); //["a","b","c","d"];

Обратите внимание, что в этом примере метод Array.splice() возвращает массив из удаленных элементов.

Взглянем на пример замены элементов в массиве JavaScript с помощью метода splice JavaScript :

var my_array = ["бейсбол", "баскетбол", "теннис", "гольф"]; var start_index = 1 var number_of_elements_to_remove = 2; var removed_elements = my_array.splice(start_index, number_of_elements_to_remove, "бокс", "боулоинг", "волейбол"); console.log(removed_elements); //["теннис", "гольф"] console.log(my_array); //["бейсбол", "бокс", "боулинг", "волейбол", "гольф"];

Приведенный выше пример заменяет » баскетбол » и » теннис » на » бокс «, » боулинг » и » волейбол «. Он может показаться немного запутанным из-за всех проведенных операций. Разберем все операции шаг за шагом. Для начала мы сообщаем методу splace() начальную позицию my_array [1] . Затем number_of_elements_to_remove задаем 2, поэтому метод удаляет my_array [1] и my_array [2] . И, наконец, начиная со start_index my_array[1] , вставляем в массив my_array элементы.

Метод JavaScript splace хорош, когда нужно вставить или удалить значения из массива t . Если массив уже отсортирован, метод splace() подходит, чтобы явно расположить новые значения в массиве. Он также хорошо работает, когда нужно удалить значения из массива по индексу. Обратите внимание на то, что метод splace() действует непосредственно на массив и возвращает только те значения, которые были удалены или вырезаны из массива.

ВЛ Виктория Лебедева автор-переводчик статьи «

Как заменить элементы одного массива элементами другого по заданному правилу?

Надо обернуть весь код в вопросе в тег code – тут есть кнопка с угловыми скобками в панели инструментов. Иначе знак «меньше» воспринимается как открывающий тег и ломает дальнейшую разметку. В меню «три точки» есть пункт «Редактировать» – поправьте вопрос, пожалуйста.

Решения вопроса 2
Сергей Соколов @sergiks Куратор тега JavaScript

Забыли .length – вероятно, собирались перебирать i от 0 до длины строки arr1 . Тут не массивы, а две строки.

for (i=0; i

Вложенный цикл не нужен. Достаточно перебрать каждую цифру входа.

Чтобы найти соответствующую цифре i букву, достаточно взять i-й элемент строки arr2 :
arr2[ i ];

Коротко, в одну строку это можно решить через преобразование строки в массив и применение функции к каждому элементу.

В одну строку

var arr1 = '3649824598'; var arr2 ='АБВГДЕЖЗИК'; arr1.split('').map(n => arr2[n]).join('') // ГЖДКИВДЕКИ
  • split('') сделает из строки массив цифр;
  • map() применит к каждой цифре функцию, которая заменит цифру на соотв. букву из arr2 ;
  • join('') склеит элементы массива (теперь уже буквы) в одну строку.

Как заменить элемент массива java

Чтобы заменить элемент массива в Java , вы можете использовать обычную операцию присваивания, но в квадратных скобках указать индекс элемента, который вы хотите заменить. Например:

int[] arr = 1, 2, 3, 4>; arr[2] = 5; // заменяем третий элемент (индекс 2) на 5 System.out.println(Arrays.toString(arr)); // => [1, 2, 5, 4] 

Как заменить элемент массива на указанное значение? [закрыт]

Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.

Закрыт 5 лет назад .
Допустим, я хочу заменить 3 на 2, как это сделать?

int mass[size] = < 3, 6, 8, 5, 1 >; 

Отслеживать
28.8k 12 12 золотых знаков 59 59 серебряных знаков 118 118 бронзовых знаков
задан 22 окт 2018 в 10:04
62 1 1 золотой знак 1 1 серебряный знак 6 6 бронзовых знаков
Например, mass[0] = 2;
22 окт 2018 в 10:09

Вы хотите заменить все вхождения 3 на 2 или только какое-то одно? Или вам гарантируется, что вхождение всегда единственно?

22 окт 2018 в 16:02

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

В общем случае для замены одного значения на другое во всём массиве (или другом контейнере данных) можно использовать стандартный алгоритм std::replace :

#include #include #include int main() < int mass[] = < 3, 6, 8, 5, 1 >; for(int v: mass) std::cout
3 6 8 5 1 2 6 8 5 1 

Отслеживать
ответ дан 22 окт 2018 в 15:46
28.8k 12 12 золотых знаков 59 59 серебряных знаков 118 118 бронзовых знаков

Самый простой вариант

int mass[size] = < 3, 6, 8, 5, 1 >; mass[0] = 2; 

Отслеживать
ответ дан 22 окт 2018 в 10:10
Alexshev92 Alexshev92
3,135 6 6 золотых знаков 18 18 серебряных знаков 34 34 бронзовых знака

  • c++
  • массивы
    Важное на Мете
Похожие

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

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

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

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