Меня немного смущает то, что происходит в верхней части вашего кода, поэтому я не собираюсь реорганизовывать все это. Я собираюсь дать объяснение того времени, когда у нас есть наша строка.
Один из подходов заключается в использовании .split (), который будет возвращать массив строковых значений в зависимости от того, какой символ вы выбрали для разделениястрокаПричина, по которой мы должны это сделать, заключается в том, что ваш код в настоящее время проходит по каждой строке, а не по каждому слову в строке. В этом случае я предполагаю, что ваша строка не может использовать знаки препинания, такие как запятые или точки. Если это так, вы хотите разделить на пустые места, чтобы это выглядело как string.split ("").
Затем вы можете использовать метод массива map () для циклического прохождения каждого значения в массиве и выполнения над ним функции. Обратите внимание, что метод map () вернет новый массив, поэтому лучше сохранить его в новой переменной.
Затем вы можете использовать метод .join (), который объединит значения массива на основе некоторого значения (по существу, противоположного .split ()). Опять же, при условии отсутствия пунктуации, я бы объединил массив с пробелом, чтобы значения имели пробел между ними, который будет выглядеть как array.join (""). ниже.
const string = prompt("Please enter your string");
const stringToArray = string.split(" ");
console.log(stringToArray);
const filteredArray = stringToArray.map((string) => {
if (string.length > 5) {
return string + "-bork";
}
return string + "-boink";
});
console.log(filteredArray);
const joinedFilteredArray = filteredArray.join(" ");
console.log(joinedFilteredArray);