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

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

  • автор:

Вставка, удаление и замена элементов с помощью 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() действует непосредственно на массив и возвращает только те значения, которые были удалены или вырезаны из массива.

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

Array.prototype.splice()

Метод splice() изменяет содержимое массива, удаляя существующие элементы и/или добавляя новые.

Синтаксис

array.splice(start[, deleteCount[, item1[, item2[, . ]]]])

Параметры

Индекс, по которому начинает изменять массив. Если больше длины массива, реальный индекс будет установлен на длину массива. Если отрицателен, указывает индекс элемента с конца.

Целое число, показывающее количество старых удаляемых из массива элементов. Если deleteCount равен 0, элементы не удаляются. В этом случае вы должны указать как минимум один новый элемент. Если deleteCount больше количества элементов, оставшихся в массиве, начиная с индекса start , то будут удалены все элементы до конца массива.

Необязательные параметры. Добавляемые к массиву элементы. Если вы не укажете никакого элемента, splice() просто удалит элементы из массива.

Возвращаемое значение

Массив, содержащий удалённые элементы. Если будет удалён только один элемент, вернётся массив из одного элемента. Если никакие элементы не будут удалены, вернётся пустой массив.

Описание

Если количество указанных вставляемых элементов будет отличным от количества удаляемых элементов, массив изменит длину после вызова.

Примеры

Удаляет 0 элементов по индексу 2 и вставляет «drum»

var myFish = ["angel", "clown", "mandarin", "sturgeon"]; var removed = myFish.splice(2, 0, "drum"); // myFish равен ["angel", "clown", "drum", "mandarin", "sturgeon"] // removed равен [], ничего не удалено 

Удаляет 1 элемент по индексу 3

var myFish = ["angel", "clown", "drum", "mandarin", "sturgeon"]; var removed = myFish.splice(3, 1); // removed равен ["mandarin"] // myFish равен ["angel", "clown", "drum", "sturgeon"] 

Удаляет 1 элемент по индексу 2 и вставляет «trumpet»

var myFish = ["angel", "clown", "drum", "sturgeon"]; var removed = myFish.splice(2, 1, "trumpet"); // myFish равен ["angel", "clown", "trumpet", "sturgeon"] // removed равен ["drum"] 

Удаляет 2 элемента начиная с индекса 0 и вставляет «parrot», «anemone» и «blue»

var myFish = ["angel", "clown", "trumpet", "sturgeon"]; var removed = myFish.splice(0, 2, "parrot", "anemone", "blue"); // myFish равен ["parrot", "anemone", "blue", "trumpet", "sturgeon"] // removed равен ["angel", "clown"] 

Удаляет 2 элемента начиная с индекса 2

var myFish = ["parrot", "anemone", "blue", "trumpet", "sturgeon"]; var removed = myFish.splice(myFish.length - 3, 2); // myFish равен ["parrot", "anemone", "sturgeon"] // removed равен ["blue", "trumpet"] 

Удаляет 1 элемент по индексу -2

var myFish = ["angel", "clown", "mandarin", "sturgeon"]; var removed = myFish.splice(-2, 1); // myFish равен ["angel", "clown", "sturgeon"] // removed равен s ["mandarin"] 

Удаляет все элементы после индекса 2 (включительно)

var myFish = ["angel", "clown", "mandarin", "sturgeon"]; var removed = myFish.splice(2); // myFish равен ["angel", "clown"] // removed равен ["mandarin", "sturgeon"] 

Спецификации

Specification
ECMAScript Language Specification
# sec-array.prototype.splice

Совместимость с браузерами

BCD tables only load in the browser

Обратная совместимость

В JavaScript 1.2 метод splice() возвращал удалённый элемент только если был удалён один элемент (параметр deleteCount равен 1); в противном случае метод возвращал массив с удалёнными элементами. Обратите внимание, что последним браузером, использующим JavaScript 1.2, был Netscape Navigator 4, так что вы можете считать, что splice() всегда возвращает массив.

Смотрите также

  • push() / pop() — добавление / удаление элементов с конца массива
  • unshift() / shift() — добавление / удаление элементов с начала массива
  • concat() — возвращает новый массив, состоящий из данного массива, соединённого с другими массивами и/или значениями

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 20 янв. 2024 г. by MDN contributors.

Your blueprint for a better internet.

  • MDN on Mastodon
  • MDN on X (formerly Twitter)
  • MDN on GitHub
  • MDN Blog RSS Feed

Как заменить элемент массива 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.9k 13 13 золотых знаков 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 

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

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