# Need help with the Mutations exercise

Stuck in only one test case of the Mutation exercise
I have no clue what is wrong in this code. I have passed 11 out 12 tests; only one is giving me a headache.
This is the test case I could get:
`mutation(["hello", "hey"])` should return `false` .

``````  **My code**
``````
``````
function mutation(arr) {
let a = arr;
let b = arr;

a = a.toLowerCase();
b = b.toLowerCase();

for(let i = 0; i <= a.length; i++){
if(a.indexOf(b[i]) >=0) {
return true;
}
return false;
}
}
mutation(["hello", "hey"]);
``````
``````  **Google Chrome:**
``````

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36`

Challenge: Mutations

Link to the challenge:

so you’re looping `a.length` times, which with `a===hello`, you have a loop exit condition of 5. What happens with `b===hey`, when you hit, say, the fourth time through the loop (when `i===3`)? What is `b` going to be, do you think?

if you want to check every character in `b` to see that it exists in `a`, which do you think the loop’s exit should be based on?

Let me make some corrections to your code.

# The For

``````for(let i = 0; i <= a.length; i++)
``````

You need to check every element of `b` that is contained in` a` so it should be the maximum iterations of `b.length` otherwise it would fail if` a.length> b.length` as is the case of `["hello", "hey"]`
`a.length === 4 and b.length === 3`

so the right thing should be

``````for(let i = 0; i < b.length; i++)
``````

# if

``````{
if(a.indexOf(b[i]) >=0) {
return true;
}
return false;
}
``````

According to your code everything will be decided in the first iteration of the loop, when i === 0. if `b ` is contained in `a`, the function returns` true`, otherwise it returns `false`.

You only analyze the first character. You must change the logic to solve that exercise.

I recommend you check all the characters of `b` and when you find the first one that is not contained in` a` then you will know that it does not meet the requirement.

Good luck coding

Makes a lot of sense. Thank you for your clarification!

Now that I’m thinking about that, it makes a lot of sense. Thank you very much!

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.