How can I make this code more clear? (Basic Algorithm Scripting: Mutations)

Hi all,

I solved the ‘Basic Algorithm Scripting: Mutations’ challenge but I think my code looks messy and lengthy. How can I make it more clear and concise?

function mutation(arr) {
  let newArr1 = arr[0].toLowerCase();
  let newArr2 = arr[1].toLowerCase();
  let newArr3 = newArr1.split('');
  let newArr4 = newArr2.split('');
  let i;
  let newArr5 = []
  for (i = 0; i<newArr4.length; i++) {
    if (newArr3.indexOf(newArr4[i]) > -1) {
      newArr5.push(newArr4[i]);
    }
  }
  let newArr6 = newArr4.join('');
  let newArr7 = newArr5.join('');
  if (newArr6 === newArr7) {
    return true;
  }
  return false;
}

mutation(["hello", "hey"]);

Click on the hint:
https://guide.freecodecamp.org/certifications/javascript-algorithms-and-data-structures/basic-algorithm-scripting/mutations/

1 Like

Thank you, Randell! That is very helpful.

This was my answer…

const mutation = ([first, sec]) => {
  first = first.toLowerCase();
  sec = sec.toLowerCase();
  return sec
    .split('')
    .filter(it => first.includes(it))
    .join('') === sec;
}

Hey @caroham29!

Welcome to the forum!
I have edited your post to include [spoiler] tags. Whenever you provide solutions in the forum please wrap them in those spoiler tags first.

Thanks!