Простейший пример прикреплен. Вот результат его работы:
Консоль сразу после инициализации пустого массива пишет, что там есть элемент. Но если выводить напрямую длинну массива - выводит 0.
Еще вчера вроде было все нормально. Комп перезагружал. Как пофиксить?
Chrome 60.0.3112.90. OS X 10.11.6
const arr =[];
console.log(arr);
console.log(arr.length);
arr.push(0);
console.log(arr);
Это не баг. В arr передается ссылка на массив, поэтому когда вы нажимаете на стрелку в консоли система проходит по ссылке на массив и отображается текущие состояние массива. Поэтому о промежуточных состояниях массива можно судить только по текстовым меткам, либо можно создавать копии текущего состояния массива при вывод в консоль с помощью arr.slice("")
. А console.log(arr.length)
вы выводите до момента добавления элемента, вот он и выдает 0.
Вот вам пример:
const arr =[];
console.log("Обычный вывод:",arr);
console.log("Slice вывод:",arr.slice(""));
arr.push(0);
console.log("Обычный вывод:",arr);
console.log("Slice вывод:",arr.slice(""));
arr.push(1);
arr.push(2);
Виртуальный выделенный сервер (VDS) становится отличным выбором
все постарался изложить в одном скриншоте: Ошибки в консоли нетjsx код:
Я уже несколько часов ломаю себе голову, не могу понять почему мой код не работает правильноВ общем моя цель чтобы при клике на главной странице,...