akubintsev: там в статье все примитивы на синхронной очереди построены.
Кирилл Леванов: удалённый комментарий, вы, видимо, мне писали. Отвечу. Ещё раз - в своём ответе я показал один из вариантов решения вашей задачи. То, что он не подходит конкретно вам в конкретно этом случае, не значит ровным счётом ничего - в вопрос придут другие люди, которым мой ответ не наступить на те же грабли, что и вы.
- Доктор, пропишите мне какое-нибудь хорошее средство от синяков.
- А что случилось?
- Понимаете, когда мне нужно повернуть голову, я бью себя в скулу кулаком. Поначалу нормально, но потом образуется синяк и бить становится всё больнее.
- Хм, может, вам просто пользоваться шеей? Она для этого подходит гораздо лучше. Зачем создавать себе проблемы на пустом месте?
- Вы нашли ответ на каждый вопрос этой поликлиники, спасибо, кэп!
Решение вашей проблемы - не создавать проблему изначально. Да, менять архитектуру сложно и не всегда возможно. Именно поэтому я и написал ответ - и вы в будущих проектах будете знать, что так лучше не делать и другие люди, которые только начинают аналогичный проект.
Из браузера не нужно слать никакие ajax-запросы, в этом весь смысл. Вся работа происходит на сервере, а клиенты имеют к нему постоянное подключение и сразу автоматически узнают обо всех изменениях. И ваша проблема просто исчезает, она в принципе не может возникнуть при такой архитектуре.
Programep: да, сам по себе он ещё мало где поддерживается, но есть транспайлеры, которые компилируют совместимый со всеми современными браузерами код.
Не хотите использовать его - есть несколько других реализаций модулей. В js неймспейсы и не нужны особо при наличии модулей: импортируете что нужно и называете переменную как хотите - никаких коллизий. Поэтому, забудьте про неймспейсы и погрузитесь в саму суть ООП в js - по вашему коду видно, что вы пока не очень его понимаете.
GavriKos: ну как забить, если вы прямо в ответе написали, что оптимальнее разбить, а потом выводить, чем просто выводить. Разумеется, если изменить задачу, то один цикл оптимальнее, но в оригинальных условиях и не вижу смысла оптимизировать. Мне кажется, это преждевременная оптимизация, а преждевременная оптимизация - зло.
GavriKos: всё-равно не понимаю. В первом случае два прохода по массиву, в каждом проходе операция вывода. Во втором случае есть те же два прохода с выводом, но по сути, они равны одному проходу по "родительскому" массиву. И есть ещё один проход, который разложит значения по "дочерним" массивам. Мне кажется, что разница здесь ничтожная, но я в С не эксперт.
Как-то кажется контринтуитивным утверждение, что два цикла с выводом - это менее оптимально, чем цикл с записью в два массива, а потом ещё два цикла вывода из них.
temployer: у вас оба условия внутри одного цикла. Внутри цикла вы работаете только с одним числом - a[i]. А оно не может быть одновременно больше и меньше нуля, поэтому ваш цикл просто выводит подряд все числа из массива, игнорируя ноль.
Кирилл Леванов: удалённый комментарий, вы, видимо, мне писали. Отвечу. Ещё раз - в своём ответе я показал один из вариантов решения вашей задачи. То, что он не подходит конкретно вам в конкретно этом случае, не значит ровным счётом ничего - в вопрос придут другие люди, которым мой ответ не наступить на те же грабли, что и вы.