Ваша проблема в том, что код с вашим сообщением Why this is executing later
не выполняется вообще при первом запуске внешнего l oop.
При вводе первого l oop при for(let i=1; i<A.length; i++){
i
будет 1
.
Теперь вы нажмете for(let j=0; j<i-1; j++){
, но i-1
равно 1-1
(потому что i
равно 1
), и поэтому oop будет выполнено 0
раз. И поэтому Why this is executing later
не будет выполнено.
Поэтому следующее console.log
сообщение, которое будет выполнено, это сообщение с Why this is executing frist
.