@anarbus в глобальной переменной укажите время окончания работы, и пусть каждый поток периодически проверяет, не вышло ли это время, если вышло - завершить работу. А в асинхронной функции можно установить жесткий останов скрипта, если время превышено вдвое, например. Хотя, если всё отлажено, то асинхронка и не нужна.
Как сделать сортировку строк в списке по их "популярности"?
-
Есть список, к примеру:
Саша
Маша
Андрей
Саша
Маша
Маша
КатяНужно получить список отсортированный по популярности строк:
Маша
Саша
Андрей
КатяКак это сделать?
-
var names = [[NAMES_LIST]];//Лист с именами var countMap = {}; for (var i = 0; i < names.length; i++) { var name = names[i]; countMap[name] = (countMap[name] || 0) + 1; } //Новый список [[POPULAR_NAMES_LIST]] = Object.keys(countMap).sort(function(a, b) { return countMap[b] - countMap[a]; });