Если продолжать использовать ваш способ, то можно так:
let chars = ['S', 'H', 'I', 'B', 'U', 'S', 'D', 'T']
chars = chars.map(e => e === 'U' ? '/U' : e)
console.log(chars)
Объяснение
Проходимся по массиву символов, если символ равен U
, тогда вместо него возвращаем /U
, а если это не так, то возвращаем тот же символ.
Можно ещё так:
let chars = ['S', 'H', 'I', 'B', 'U', 'S', 'D', 'T']
chars = chars.map(e => e.replace(/U/, '/U'))
console.log(chars)
Объяснение
Также проходимся по всему массиву символов, заменяем символ U
на /U
, если такой есть.
Или через цикл for
:
let chars = ['S', 'H', 'I', 'B', 'U', 'S', 'D', 'T']
for (let i = 0; i < chars.length; i++) {
let char = chars[i]
if(char === 'U') {
chars[i] = '/U'
}
}
console.log(chars)
Объяснение
Проходимся по массиву, если символ равен U
, то тогда в массиве заменяем элемент на /U
. Заметьте, я меняю именно сам элемент массива, а не переменную char
, т.к. char
временная и сохраняется только в цикле, а вот если заменять элемент массива, тогда сама изменённая строка в массиве сохранится.
Каждый из массивов которые мы изменили можно соединить в одну строку методом join
, вот так:
let chars = ['S', 'H', 'I', 'B', 'U', 'S', 'D', 'T']
chars = chars.map(e => e === 'U' ? '/U' : e)
console.log(chars.join(''))
Уточнение
В методе join
, я указываю пустую строку для того, чтобы массив объединился без лишних символом, т.к. если ничего не указывать в аргументы, то join
по стандарту выбирает ,
как символ для объединения элементов массива.