Приятной особенностью Prolog является то, что он имеет хороший механизм отслеживания и объединения, встроенный в сам язык. В Javascript (как, впрочем, и в большинстве языков) такого нет, поэтому нет возможности получить функциональность в стиле Prolog «бесплатно».
Конечно, вы можете написать интерпретатор для своего подмножества Prolog (или получить его как библиотеку откуда-то) и передать в него свои предикаты, закодированные в виде некоторой хорошей структуры данных JS.
Но тогда зачем вам это вообще нужно? Вам нужен только возврат? Вам нужно сложное объединение? Возможно, достаточно написать рекурсивную функцию поиска? Ваш вопрос не дает много деталей.