Странный вопрос - вы же сами проверку написали на равенство count нулю. Если count равен нулю, значит текущий коллбек - последний, и все данные должны быть уже получены.
Ещё раз - вы изменяете значение count ДО того как файл будет прочитан. А делать это надо ПОСЛЕ - в коллбеке readFile. Там же выполнять и resolve(treeArr).
Метод readFile - он же асинхронный, а вы что делаете? Изменяете значение счётчика вне коллбека - разумеется, count станет равным нулю ещё до того, как первый из файлов будет прочитан.
Alex, можно. Положим, введено число n. Делаете цикл на n итераций, также заводите целочисленную переменную, которая будет использоваться в качестве битовой маски - изначально равна единице, на каждой итерации выполняете битовый сдвиг влево на единицу; очередной бит получаете посредством применения битового И с маской и последующим битовым сдвигом вправо на номер текущей итерации.
На каждой итерации each'а вы создаёте новый массив из одного значения, вместо того, чтобы дописывать данные в уже существующий. Полагаю, должно быть как-то так:
Добавил ссылку на документацию в ответ. Метод getElementsByClassName возвращает HTMLCollection, у которой нет forEach, так что, если хотим этим методом воспользоваться, коллекцию надо превратить в массив.
Synakten, честно говоря, не очень понимаю вашу проблему. Лучше создайте новый вопрос, и максимально подробно там изложите, с чем у вас возникли затруднения.