DEV Community

Cover image for JavaScript 🐲 challenges_2 βš”οΈ
Mahmoud EL-kariouny
Mahmoud EL-kariouny

Posted on • Edited on

JavaScript 🐲 challenges_2 βš”οΈ

Isograms

  • An isogram is a word that has no repeating letters consecutive or non-consecutive.
  • Implement a function that determines whether a string that contains only letters is an isogram.
  • Assume the empty string is an isogram.
  • Ignore letter case.

Examples:

  • "Dermatoglyphics" --> true
  • "aba" --> false
  • "moOse" --> false (ignore letter case)

Task URL

My solution:

function isIsogramOne(str) {

    let strLower = str.toLowerCase(); // convert to lowercase
    let charArr = strLower.split(''); // split into array 
    let result = []; // create empty array to store unique characters

    for (let i = 0; i < charArr.length; i++) { // loop through array
        if (result.indexOf(charArr[i]) === -1) { // if chraacter is not in array
            result.push(charArr[i]); // push character to array 
        }
    }
    return result.length === charArr.length;
}
Enter fullscreen mode Exit fullscreen mode

Another solution:

function isIsogramTow(str) {
    return str.toLowerCase().split('').filter((item, index, array) =>
        array.indexOf(item) === index).length === str.length;
}
Enter fullscreen mode Exit fullscreen mode
10 JavaScript Games to learn-Totally Cool & Fun πŸš€βœ¨πŸ”₯

πŸŽ₯

Connect with Me 😊

πŸ”— Links

linkedin

twitter

Top comments (2)

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ
const isIsogram = str =>
  [...new Set([...str.toLowerCase()])].length == str.length
Enter fullscreen mode Exit fullscreen mode
Collapse
 
mahmoudessam profile image
Mahmoud EL-kariouny

Excellent solution bro :)