---
title: Mutations
---
 Remember to use **`Read-Search-Ask`** if you get stuck. Try to pair program  and write your own code 
###  Problem Explanation:
* Return true if the string in the first element of the array contains all of the letters of the string in the second element of the array..
#### Relevant Links
* String.indexOf()
##  Hint: 1
* If everything is lowercase it will be easier to compare.
> _try to solve the problem now_
##  Hint: 2
* Our strings might be easier to work with if they were arrays of characters.
> _try to solve the problem now_
##  Hint: 3
* A loop might help. Use `indexOf()` to check if the letter of the second word is on the first.
> _try to solve the problem now_
## Spoiler Alert!

**Solution ahead!**
##  Basic Code Solution:
**Procedural**
function mutation(arr) {
var test = arr[1].toLowerCase();
var target = arr[0].toLowerCase();
for (var i=0;iRun Code
### Code Explanation:
First we make the two strings in the array lowercase. `test` will hold what we are looking for in `target`.
Then we loop through our test characters and if any of them is not found we `return false`.
If they are _all_ found, the loop will finish without returning anything and we get to `return true`.
#### Relevant Links
* String.toLowerCase()
* For loops
##  Intermediate Code Solution:
**Declarative**
function mutation(arr) {
return arr[1].toLowerCase()
.split('')
.every(function(letter) {
return arr[0].toLowerCase()
.indexOf(letter) != -1;
});
}
 Run Code
### Code Explanation:
Grab the second string, lowercase and turn it into an array; then make sure _every_ one of its _letters_ is a part of the lowercased first string.
`Every` will basically give you letter by letter to compare, which we do by using `indexOf` on the first string. `indexOf` will give you -1 if the current `letter` is missing. We check that not to be the case, for if this happens even once `every` will be false.
#### Relevant Links
* Array.split()
* Array.every()
##  NOTES FOR CONTRIBUTIONS:
*  **DO NOT** add solutions that are similar to any existing solutions. If you think it is **_similar but better_**, then try to merge (or replace) the existing similar solution.
* Add an explanation of your solution.
* Categorize the solution in one of the following categories — **Basic**, **Intermediate** and **Advanced**. 
* Please add your username only if you have added any **relevant main contents**. ( **_DO NOT_** _remove any existing usernames_)
> See  **`Wiki Challenge Solution Template`** for reference.