Соберите символы в порядке заданных индексов. Уточните нумерацию: ниже индексы начинаются с нуля и относятся к Unicode-кодовым точкам.
Создание нового слова по списку позиций
Соберите символы в порядке заданных индексов. Уточните нумерацию: ниже индексы начинаются с нуля и относятся к Unicode-кодовым точкам.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Функция получает строку и массив чисел‑индексов, после чего формирует новое слово, выбирая символы из исходной строки в соответствии с указанными позициями из массива.
Ответ
Соберите символы в порядке заданных индексов. Уточните нумерацию: ниже индексы начинаются с нуля и относятся к Unicode-кодовым точкам.
function buildWord(text, indices) {
const chars = [...text];
return indices.map(index => {
if (!Number.isInteger(index) || index < 0 || index >= chars.length) throw new RangeError('Индекс вне строки');
return chars[index];
}).join('');
}
Например, buildWord('кот', [2,1,0]) вернёт 'ток'; повторный индекс повторяет символ, пустой список даёт пустую строку. Графемы из нескольких кодовых точек потребовали бы отдельной сегментации. Исходные строка и массив не изменяются.