27 lines
926 B
Markdown
27 lines
926 B
Markdown
---
|
|
title: isIsogram
|
|
tags: string, intermediate
|
|
---
|
|
|
|
Creates a function that accepts a string parameter and output whether its an isogram or not.
|
|
|
|
- Use `String.toLowerCase()` to convert the string to lowercase letters.
|
|
- Use `String.prototype.split()`, `String.prototype.indexOf()` and `Array.prototype.every()` to split the string into substrings, run a test for all the elements in that array and finally return the index of first occurence of a specified value in a string.
|
|
- Function returns true if the string is an isogram (that is no letter is repeated) else returns false.
|
|
- Returns false is called with no parameter.
|
|
|
|
```js
|
|
const isIsogram = (str = null) => {
|
|
if(str == null) return false;
|
|
str = str.toLowerCase();
|
|
return str.split("").every((c, i) => str.indexOf(c) === i);
|
|
}
|
|
```
|
|
|
|
```js
|
|
isIsogram("Dermatoglyphics"); // true
|
|
isIsogram("aba"); // false
|
|
isIsogram("moOse"); // false
|
|
isIsogram(); // false
|
|
```
|