Перейти к содержимому

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

  • автор:

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 4 авг. 2023 г. by MDN contributors.

Your blueprint for a better internet.

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

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

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

Закрыт 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.3.2953

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

Метод splice – Добавление, удаление и замена элементов массива

Но JavaScript имеет более широкие возможности при работе с элементами в массивах.

Рассмотрим метод splice, который позволяет добавить, удалить или заменить любое число элементов в любом месте массива.

Для работы с методом splice снова будем иметь дело с массивом «Друзья».

var friends = [ » Алексей» , » Вячеслав» , » Григорий» , » Настя» , » Павел» ];

Метод splice — Удаление элементов из массива

Рассмотрим, как в JavaScript при помощи метода splice удалить несколько элементов из массива. Для этого в методе splice нужно указать два числовых параметра.

1-е число будет говорить о том, с какого элемента (включительно) массива следует начать удаление . Здесь указывается индекс/порядковый номер элемента массива (следует помнить, что нумерация элементов массива начинается с 0).

2-е число указывает на количество удаляемых элементов .

Фрагмент кода

var friends = [ » Алексей» , » Вячеслав» , » Григорий» , » Настя» , » Павел» ];

document . write ( friends + «

» );

friends . splice ( 3 , 2 ); // Начиная с 3-го, удаляем 2 элемента из массива

document . write ( friends );

Алексей, Вячеслав, Григорий, Настя , Павел

Алексей, Вячеслав, Григорий

В данном примере мы рассмотрели, как при помощи метода splice удалить несколько элементов из массива. Были удалены два элемента, начиная с элемента с порядковым номером 3 (индекс 3).

Метод splice — Добавление элементов в массив

Рассмотрим, как в JavaScript при помощи метода splice добавить несколько элементов в массив.

Чтобы добавить элементы в массив при помощи метода splice необходимо так же, как и при удалении элементов указать два числовых параметра , при этом вторым числом будет ноль .

1-е число говорит о том, перед каким элементом массива следует начать добавление . Здесь указывается индекс/порядковый номер элемента массива.

2-е число — это 0 . Если указать любое число отличное от нуля, то оно будет указывать на количество удаляемых элементов . Но в данном случае мы не удаляем, а добавляем элементы в массив .

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

Фрагмент кода

var friends = [ » Алексей» , » Вячеслав» , » Григорий» , » Настя» , » Павел» ];

document . write ( friends + «

» );

friends . splice ( 3 , 0 , » Дмитрий» , » Евгений» ); // Перед 3-им элементом массива добавляем еще 2

document . write ( friends );

Алексей, Вячеслав, Григорий, Настя , Павел

Алексей, Вячеслав, Григорий, Дмитрий , Евгений , Настя , Павел

В данном примере мы рассмотрели, как при помощи метода splice добавить несколько элементов в массив.

Перед элементом массива с порядковым номером 3 было добавлено еще два элемента.

Метод splice — Замена элементов массива

Рассмотрим третий вариант работы с методом splice, и узнаем, как проводить замену элементов массива в JavaScript.

Для замены элементов массива сначала необходимо удалить , например, два элемента, а затем указать те, которые необходимо добавить (их может быть как больше числа удаляемых элементов, так и меньше).

Фрагмент кода

var friends = [ » Алексей» , » Вячеслав» , » Григорий» , » Настя» , » Павел» ];

document . write ( friends + «

» );

friends . splice ( 1 , 2 , » Дмитрий» , » Евгений» , » Я» );

document . write ( friends );

Алексей, Вячеслав , Григорий , Настя, Павел

Алексей, Дмитрий , Евгений , Я , Настя, Павел

В этом примере мы рассмотрели, как в JavaScript заменить элементы в массиве при помощи метода splice. Здесь указано, что сначала нужно удалить два элемента из массива, начиная с элемента с индексом 1 , затем то, какие элементы следует добавить в массив.

Итак, метод splice в JavaScript позволяет добавлять, удалить и проводить замену нескольких элементов в массивах.

site.komp36.ru Как работать на себя? Твой сайт фотографа Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.

site.komp36.ru Как начать свое дело? Свой сайт «Укладка плитки» Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов

site.komp36.ru Продающий лендинг «Установка и продажа окон» Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта

Читайте также.

Метод write() объекта document

Добавление элементов в массив

Практическая задача — Метод splice

Что нужно для изучения javascript?

Экранирование кавычек в Javascript

Практическая задача – Удаление и добавление элементов в массив

Метод setAttribute — Добавление нового атрибута

site.komp36.ru Как работать на себя? Твой сайт фотографа Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.

site.komp36.ru Как начать свое дело? Свой сайт «Укладка плитки» Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов

site.komp36.ru Продающий лендинг «Установка и продажа окон» Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта

array_replace

array_replace() замещает значения массива array1 значениями с такими же ключами из других переданных массивов. Если ключ из первого массива присутствует во втором массиве, его значение заменяется на значение из второго массива. Если ключ есть во втором массиве, но отсутствует в первом — он будет создан в первом массиве. Если ключ присутствует только в первом массиве, то сохранится как есть. Если для замены передано несколько массивов, они будут обработаны в порядке передачи и более поздние массивы будут перезаписывать значения из предыдущих.

array_replace() не рекурсивная: значения первого массива будут заменены вне зависимости от типа значений второго массива, даже если это будут вложенные массивы.

Список параметров

Массив, элементы которого требуется заменить.

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

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

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

Возвращает массив ( array ) или NULL в случае ошибки.

Примеры

Пример #1 Пример использования array_replace()

$base = array( «orange» , «banana» , «apple» , «raspberry» );
$replacements = array( 0 => «pineapple» , 4 => «cherry» );
$replacements2 = array( 0 => «grape» );

$basket = array_replace ( $base , $replacements , $replacements2 );
print_r ( $basket );
?>

Результат выполнения данного примера:

Array ( [0] => grape [1] => banana [2] => apple [3] => raspberry [4] => cherry )

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

  • array_replace_recursive() — Рекурсивно заменяет элементы первого массива элементами переданных массивов
  • array_merge() — Сливает один или большее количество массивов

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

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