Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
17
Task/Palindrome-detection/TypeScript/palindrome-detection.ts
Normal file
17
Task/Palindrome-detection/TypeScript/palindrome-detection.ts
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
const detectNonLetterRegexp=/[^A-ZÀ-ÞЀ-Я]/g;
|
||||
|
||||
function stripDiacritics(phrase:string){
|
||||
return phrase.normalize('NFD').replace(/[\u0300-\u036f]/g, "")
|
||||
}
|
||||
|
||||
function isPalindrome(phrase:string){
|
||||
const TheLetters = stripDiacritics(phrase.toLocaleUpperCase().replace(detectNonLetterRegexp, ''));
|
||||
const middlePosition = TheLetters.length/2;
|
||||
const leftHalf = TheLetters.substr(0, middlePosition);
|
||||
const rightReverseHalf = TheLetters.substr(-middlePosition).split('').reverse().join('');
|
||||
return leftHalf == rightReverseHalf;
|
||||
}
|
||||
|
||||
console.log(isPalindrome('Sueño que esto no es un palíndromo'))
|
||||
console.log(isPalindrome('Dábale arroz a la zorra el abad!'))
|
||||
console.log(isPalindrome('Я иду с мечем судия'))
|
||||
Loading…
Add table
Add a link
Reference in a new issue