HR вновь нашли меня и предложили выполнить задание для Yandex. Я не отказался. Задание было сделать полиндром ровно за 10 минут.
Примеры полиндромов: ‘Казак’, ‘А роза упала на лапу Азора’, ‘Do geese see God?’
Код приложения
function isPalindrome(s) {
const slovar = (str) => {
str = str.replace(/\s/g, '');
str = str.toLowerCase();
return str;
}
const words = slovar(s);// арозаупаланалапуазора
let start = 0;
let end = words.length - 1;
for (;;) {
const startWord = words[start];
const endWord = words[end]
if (startWord !== endWord)
return false;
++start;
--end;
if (end === 0)
return true;
}
}
Пример
var s = 'А роза упала на лапу Азора';
isPalindrome(s); // Выведет true
Чуть позже, пользователь на гитхабе под ником noonon предложил свой вариант «Лаконичнее, но кажется медленнее».
function isPalindrome(str) {
str = str.replace(/\s/g, '');
str = str.toLowerCase();
const strLikeArray = Array.from(str);
const reverseStr = (strLikeArray.reverse()).join('');
return str === reverseStr;
}