У вас там алгоритм O (n ^ 2).Просматривая этот массив ключевых слов снова и снова, вы получите действительно медленный (как вы заметили).
Вместо этого сохраняйте ключевые слова как объект:
var keywords = {};
// ... inside your ".each():
if (v && !keywords[v])
keywords[v] = true;
Обратите внимание, что ваши тесты "v" для неопределенных, нулевых и пустых строк можно заменить, позволив JavaScript проверить правильность.Это не всегда правильная вещь, но здесь все в порядке.
Вы можете также держать ключевые слова в массиве, если хотите.Просто не ищите в массиве, чтобы определить, было ли ключевое слово еще замечено.