
  вообще не понимаю как это работает
вы берете две строки, переделываете их в 2 массива a и b
 а потом как-то сравниваете эти массивы через
    return a.some(function(a) { 
        return b.some(function(b) { 
            return b == a 
        }) 
    }) 
что такое           return b == a ?
что такое  a.some(function(a)  "a" это же массив.
b == a вернет true, если они равны, но как в них отдельное слово попало из массива?
и тут нет никакого перебора. взяли один элемент из первого, сравнили с элементом из второго.