Это код, который я пробовал. Если мы введем «Мы фермеры!» он должен возвращать "! s rem raferaeW", однако код, который я получаю, возвращает "! s remr aferaeW"
function reverseStr(input){
var array1 = [];
var array2 = [];
var nWord;
for (var i = 0; i < input.length; i++) {
array1.push(input[i]);
}
var spaces = [];
for (var i = 0; i < array1.length; i++) {
if(array1[i] == " ") {
spaces.push(i);
}
}
console.log(array1);
console.log(spaces);
array2 = array1.slice().reverse();
var spaces2 = [];
for (var i = 0; i < array1.length; i++) {
if(array2[i] == " ") {
spaces2.push(i);
}
}
console.log(spaces2);
for (var i = spaces2.length - 1; i >=0; i--) {
array2.splice(spaces2[i], 1);
}
console.log(array2);
nWord = array2.join('');
console.log(nWord);
var array3 = [];
for (var i = 0; i < nWord.length; i++) {
array3.push(nWord[i]);
}
console.log(array3);
for (var i = spaces.length - 1; i >=0; i = i - 1) {
array3.splice(spaces[i], 0, " ");
}
console.log(array3);
var anWord = array3.join('');
return anWord;
}
var input = "We are farmers!";
reverseStr(input);
Сначала я помещал каждую букву ввода в массив в "array1". Затем я создал массив для индексов пространств «array1», который называется «space».
Затем «array2» - это массив «array1» в обратном порядке.
Затем «Space2» - это массив индексов для «array2», а затем я использовал для l oop, чтобы разделить пробелы в array2. Тогда «nWord» - это «массив2», объединенный в новое слово.
Тогда «массив3» - это массив для всех букв nWord, и я использовал обратное значение для l oop для попытки ввода пробелов в «массив3» и использования индексов массива «пробелы». К сожалению, он не возвращает "! Rem remferaeW" и возвращает "! Remr aferaeW".
Я пытаюсь узнать, как я могу использовать индексы массива «pace »для создания пробелов в« array3 »по индексам 2 и 7.