In dit voorbeeld leert u een JavaScript-programma te schrijven dat controleert of de string palindroom is of niet.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende JavaScript-programmeeronderwerpen:
- JavaScript-tekenreeks
- JavaScript-functie en functie-expressies
Een string is een palindroom als deze van voren of van achteren hetzelfde wordt gelezen. Papa leest bijvoorbeeld hetzelfde van voren of van achteren. Dus het woord vader is een palindroom. Evenzo is mevrouw ook een palindroom.
Voorbeeld 1: Controleer Palindroom gebruiken voor lus
// program to check if the string is palindrome or not function checkPalindrome(str) ( // find the length of a string const len = string.length; // loop through half of the string for (let i = 0; i < len / 2; i++) ( // check if first and last string are same if (string(i) !== string(len - 1 - i)) ( return 'It is not a palindrome'; ) ) return 'It is a palindrome'; ) // take input const string = prompt('Enter a string: '); // call the function const value = checkPalindrome(string); console.log(value);
Uitvoer
Voer een string in: mevrouw Het is een palindroom
In het bovenstaande programma neemt de checkPalindrome()
functie input van de gebruiker.
- De lengte van de string wordt berekend met behulp van de
length
eigenschap. - De
for
lus wordt gebruikt om tot de helft van de string te herhalen. Deif
voorwaarde wordt gebruikt om te controleren of de eerste en de bijbehorende laatste lettertekens hetzelfde zijn. Deze lus gaat door tot de helft van de snaar. - Als tijdens de iteratie een teken van de string, in vergelijking met de bijbehorende laatste string niet gelijk is, wordt de string niet als een palindroom beschouwd.
Voorbeeld 2: Controleer Palindroom met behulp van ingebouwde functies
// program to check if the string is palindrome or not function checkPalindrome(str) ( // convert string to an array const arrayValues = string.split(''); // reverse the array values const reverseArrayValues = arrayValues.reverse(); // convert array to string const reverseString = reverseArrayValues.join(''); if(string == reverseString) ( console.log('It is a palindrome'); ) else ( console.log('It is not a palindrome'); ) ) //take input const string = prompt('Enter a string: '); checkPalindrome(string);
Uitvoer
Voer een string in: hallo Het is geen palindroom
In het bovenstaande programma wordt het palindroom gecontroleerd met behulp van de ingebouwde methoden die beschikbaar zijn in JavaScript.
- De
split('')
methode zet de string om in individuele arraysetekens.const arrayValues = string.split(''); // ("h", "e", "l", "l", "o")
- De
reverse()
methode keert de positie in een array om.// ("o", "l", "l", "e", "h") const reverseArrayValues = arrayValues.reverse();
- De
join('')
methode voegt alle elementen van een array samen tot een string.const reverseString = reverseArrayValues.join(''); // "olleh"
- Vervolgens wordt de
if… else
instructie gebruikt om te controleren of de string en de omgekeerde string gelijk zijn. Als ze gelijk zijn, is de string een palindroom.
Opmerking : de meerdere regels code kunnen worden verkleind en op één regel worden geschreven:
const reverseString = string.split('').reverse().join('');