Пытается решить этот ката на Codewars .
Мне удалось преобразовать массив в строку, но я не смог назначить эту строку отдельным элементам указанной длины.Я попытался:
function ultimateReverse (array) {
let newArray = array.join("").split("");
let reversedArray = newArray.reverse();
return reversedArray.join("");
}
console.log(ultimateReverse(["I", "like", "big", "butts", "and", "I", "cannot", "lie!"]));
//!eiltonnacIdnasttubgibekilI
Но результат, который мы хотим получить:
["!", "eilt", "onn", "acIdn", "ast", "t", "ubgibe", "kilI"]
Таким образом, согласно исходному массиву длина первого элемента должна быть1, длина второго элемента должна быть 4, третий должен быть длиной 3 и т. Д. ...
Есть ли способ разбить строку на массив элементов, каждый определенной длины?
Я думал о создании массива длин элементов из исходного массива, выполнив:
function ultimateReverse (array) {
let elementLengths = [];
let newArray = array.join("").split("");
let reversedArray = newArray.reverse().join("");
for (let i = 0; i < array.length; i++) {
let element = array[i];
elementLengths.push(element.length);
}
return reversedArray + " " + elementLengths;
}
console.log(ultimateReverse(["I", "like", "big", "butts", "and", "I", "cannot", "lie!"]));
//!eiltonnacIdnasttubgibekilI 1,4,3,5,3,1,6,4
Теперь, если я могу просто разбить строку на элементы в массиве на основедлина оригинальных элементов ...