Метод в console.info изменяет массив

Мне сложно понять поведение этого фрагмента кода:

var myArray=new Array;
myArray = ["1","2","3","4"];
console.info(myArray);
console.info(myArray.pop());
console.info(myArray);

Результаты регистрации:

'Array [ "1", "2", "3", "4" ]'
'4'
'Array [ "1", "2", "3" ]'

Похоже, что оператор console.info((myArray.pop())) не только отображает значение, но и делает «всплывающее окно».

Это нормальное поведение?

Вы запускаете pop, который изменяет массив - почему вас так удивляет такое поведение?

UnholySheep 10.04.2018 16:57
Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
4
1
42
4

Ответы 4

Да, это нормальное поведение. pop удаляет последний элемент в массиве и возвращает его значение. Если вы ищете только последний элемент, не удаляя его, вы можете:

console.info(myArray[myArray.length - 1]);

Метод arr.pop() удаляет последний элемент из массива и возвращает это значение вызывающей стороне. Возвращает удаленный элемент из массива; undefined, если массив пуст. Итак, это желаемое поведение.

Да! Он ведет себя нормально. Согласно документации Массивы POP MDN. Вы можете видеть, что в нем четко указано, что это изменит длину массива. Кроме того, функция pop возвращает удаленный элемент, поэтому console.info(myArray.pop()) напечатал 4. pop использует методы удалить последний элемент и вернуть этот элемент.

Он работает отлично. В массиве есть два метода вставки и удаления. один из них - push (), а другой - pop (). Обычно push () вставляет элемент с начала, а pop () удаляет элемент с последнего. В твоем случае,

console.info(myArray.pop()); 
//It is printing out the popped element which is 4. right? so, it's correct.
// It is showing you which item is popped or removed from myArray.
Then,
//your last line of console.info is displaying the array after removing 4.

Другие вопросы по теме