javascript Array reverse повернуть много строк
Задание Javascript Array reverse.
Напиши функцию arrayReverse, которая принимает массив строк words, которая содержит цифры, номера латинские символы.
Переверни строки в массиве и их порядок так, чтоб длина строк с оригинального массива не изменялась. То есть, если длина первой строки ровна 1, а последней - 5, то при повороте первой строкой в массиве будет только последний символ с последней строки.
Например: 'I', 'am', 'a', 'student!' === !tnedutsamaI.
А потом конечный результат должен быть: '!', 'tn', 'e', 'dutsamaI'
Мой код:
const arrayReverse = (words) => {
return words.map(word => {
const reversed = word.split('').reverse().join('');
return reversed;
}).reverse();
}
const result = arrayReverse(['I', 'am', 'a', 'student!']);
console.log(result); // [ '!tneduts', 'a', 'ma', 'I' ]
Ответы (2 шт):
Автор решения: Qwertiy
→ Ссылка
Даже с енотом работает :)
function solve(a) {
return [...a.join("")]
.reverse()
.join("")
.match(RegExp(a.map(x => '(' + x.replace(/./gus, '.') + ')').join(''), 'us'))
.slice(1)
}
console.log(solve(['I', 'am', 'a', '?', 'student!']))
Автор решения: Grundy
→ Ссылка
const arrayReverse = (words) => {
const full = words.join('').split('').reverse();
return words.map(word => {
return full.splice(0, word.length).join('');
});
}
const result = arrayReverse(['I', 'am', 'a', 'student!']);
console.log(result); // [ '!tneduts', 'a', 'ma', 'I' ]