| 
		
			Сообщение от Vlasenko Fedor
			
		
	 | 
	
		Вариант 4 здесь показывает скорость без преобразования в строку 
Для чисел с которыми работает js NodeJs среда
	 | 
	
Ну только строка 26 должна быть так
if (f === 1 || f === 2 || f === 5) b.push(ar[i])
А то массив b пустым получается
Это интересно. Даже несмотря на рекурсию этот вариант гораздо быстрее, чем преобразование в строку.
Видимо при таком количестве вызовов эта функция хорошо оптимизируется в ассемблерный код.
Но это в Хроме. Файрфокс не показывает таких хороших результатов. Там второй вариант все равно быстрее.