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

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

  • автор:

Замена конкретного элемента в массиве JavaScript

Чтобы заменить элемент в массиве, используйте метод .splice() : array.splice(index, 1, newValue) . Он позволяет заменить элемент на указанной позиции index новым значением newValue .

Скопировать код

let fruits = ['яблоко', 'банан', 'вишня']; fruits.splice(1, 1, 'голубика'); console.log(fruits); // ['яблоко', 'голубика', 'вишня']

Основы массивов для понимания контекста

Перечислим базовые сведения о массивах. Они объявляются с использованием квадратных скобок:

Скопировать код

let myArray = ['первый', 'второй', 'третий'];

Непосредственное присвоение нового значения элементу по индексу позволяет осуществить простую замену:

Скопировать код

myArray[1] = 'новыйВторой'; console.log(myArray); // ['первый', 'новыйВторой', 'третий']

Различные стратегии замены элементов

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

Скопировать код

let index = myArray.indexOf('второй'); if (index !== -1)

Для повышения производительности, особенно при работе с большим объёмом данных в массивах, целесообразно проверить наличие элемента с помощью метода includes() :

Скопировать код

if (myArray.includes('второй'))

Оператор ~ может быть использован для сокращённой проверки наличия элемента:

Скопировать код

if (~myArray.indexOf('второй')) < // 'второй' найден, можно продолжать! >

Для создания нового массива со заменёнными элементами, не меняя исходный массив, отлично подходит метод .map() :

Скопировать код

let newArray = myArray.map(item => item === 'второй' ? 'новыйВторой' : item);

Частые ошибки и поддержка масштабируемости

Важно писать универсальный код, чтобы избежать ошибок. Код такого типа может работать с массивами любой длины и избегать лишних повторений. Чтобы реализовать масштабируемые решения, следует использовать функции, в которые будет включена логика замены.

Визуализация

Замену элемента в массиве можно представить как замену �� лампочки в гирлянде:

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

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

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

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

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

Надо обернуть весь код в вопросе в тег 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] 

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

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