---
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.