Обходите просто циклом. Воркеры конечно решение, но для начала можно попробовать просто разбить обработку на несколько частей: обрабатываете часть, сохраняете номер чанка, кладёте в очередь функцию обработки следующей части.
Если нужно создавать массив для каждой группы длиной a.length, то массив result должен иметь длину a.length, и во внешнем цикле надо создавать массив на i-том месте, а во внутреннем - класть на i-тое место этого массива нужное значение.
Количество элементов результирующего массива известно заранее, совсем незачем в каждой итерации менять его структуру если можно изначально иметь массив нужной длины.
Потому что для объектов операция сравнения работает по-другому - она сравнивает внутренние ссылки на объекты: ссылки разные - значит объекты разные, результат сравнения равен false; ссылки одинаковые, значит это один и тот же объект, результат сравнения true
Ну, если вам действительно нужно чтоб это кто-то сделал за вас, то вам и правда на другой сайт. А вообще по картинке видно, что никакого монстра тут нет, есть только маленькие монстрики, в том смысле что это не одна большая таблица, а много маленьких, каждая из которых относительно тривиальна в верстке.
Саблайм страдает от туууучи проблем связанных с внутренними ошибками, подавляющее большинство из них лечится переустановкой или удалением папки Packages. Либо удалите полностью и переустановите саблайм, либо поставьте его на чистую систему и после установки каждого нужного плагина проверяйте наличие нужного функционала. Функционал не пропал? Повезло. Пропал? Смотрите что это за плагин, смотрите список issues и наличие у него конфликтующего функционала.
lightalex, "не всегда даст", "Иногда дает доступ" - не вижу противоречий,
"Но не всегда, тут как браузер себя поведет" - у каждого браузера есть вполне определенное поведение относительно document.referrer. document.referrer это единственный для фронта, но всё равно ненадёжный способ узнать с какой страницы пришёл пользователь.
Slait, "Пока не могу понять, какой из них первый sp=%~2. Как указать файл с данными?" - первым (и на самом деле последним) шагом в решении этой проблемы может быть попытка прочитать текст ответа: "первый параметр имя файла со списком, второй каталог откуда начинает создавать иерархию каталогов."
Артём, ага, вы вызываете функцию так: o.Cons - то есть вызываете метод "Cons" от лица (или в контексте объекта) "o", а это как раз один из способов явного указания контекста из списка выше.
Артём, потому что любая функция привязывается к глобальному объекту, если вы не переопределили это поведение с помощью bind, call, apply, конструктора или вызова от лица объекта.
И setInterval тут ни при чём, к this вы обращаетесь из переданной функции, вот у неё window и является контекстом.