Почему условия пропускает элементы?
Подскажите пожалуйста что я делаю не так, заранее благодарю за ответ.
Пишите говкод в котором и сами не можете разобраться и надеетесь что придет добрый человек и тыкнет носом где в этой каше проблема. 
Поэтому мой Вам совет - подучите матчасть, почитайте книжки разные по программированию  не будет таких вопросов
Начните с понимания строгого сравнение  типов.  
Т.е.   myVar === false,  возвращайте не строку, а именно false.
Думаю после приведения в норму что-то из этого ужаса заработает.