Без описания функции findClosest непонятно почему возвращается (b - a) например в первом компараторе. Ну и не обязательно передавать только два параметра. Можно хоть десять, если они помогут решить задачу.
PS: Задачу уже решил сам. Если не увижу более лаконичного решения, то выложу свой вариант.
Это один из вариантов, но так как сортировка это деструктивный метод, то придется предварительно копировать массив, а еще нужен компаратор для самой сортировки, чтобы она корректно обрабатывала цифры. В итоге это уже не будет изящно)
Владимир Сорокин: незнаю как в инстаграме, но в ВК вроде только штрафуют за накрутку подписчиков. Вероятно ничего не будет за лайки. Если письмо написали в тех поддержку, то потом можно будет на него сослаться при разборе полетов (если конечно инстаграм ведет переговоры с пользователями)
Картинкам поставь display: block и height: auto.
Убери у контейнера фиксированную высоту в 900 пикселей и добавь box-sizing: border-box.
А вообще лучше выложи код на jsfiddle или аналогичный сервис и тогда людям будет проще тебе помочь)
zooks: а что там за работы на сервере затрагиваются?
У меня проблема только с CSS, которая относится к фронтенду.
Все прочее, кеширование и т.д. работает нормально.
А компромисс проще искать, когда валидатор показывает хороший результат)
Evgeniy-Web: я его динамически добавляю в head после загрузки страницы.
По факту получается скорость загрузки 10 миллисекунд, но гугл хитрый - он ждет пока загрузятся все ресурсы и лишь потом выдает результат своих тестов. Поэтому получается, что он видит link на css в начале страницы и ругается.
zooks: тоже считаю, что вынос css это бред. Однако "зелененькие" циферки там получить важно. Клиенты взяли моду проверять сайты этим сервисом и теперь имеют формальное право утверждать, что "сайт то некачественно сделан, гугл врать не будет, давайте скидку или переделывайте".
zooll: маловато времени прошло, по-моему. Ты изучал чистый js или сразу за фреймворки сел? Какие книги/курсы проходил? И еще у тебя в профиле на гитхабе написано, что ты находишься в америке. Если это так, то надо смотреть как там у вас по закону с требованиями к работникам (образование, возраст и прочее).
lukoie: ну значит делай через динамическое добавление скриптов на страницу.
Сначала добавляешь скрипт загрузки шрифтов, на нем должен висеть слушатель события onload. Когда событие происходит - добавляешь второй скрипт и так далее. Работать будет медленно, но зато по ТЗ)
Frank2205: вроде все должно работать.
Скопируй код в jsfiddle или codepen и дай ссылку - посмотрим что по факту получается.
Возможно в стилях что-то не так.
PS: Задачу уже решил сам. Если не увижу более лаконичного решения, то выложу свой вариант.