console.log中的方法更改数组

时间:2018-04-10 14:53:00

标签: arrays console.log

我很难理解这段代码的行为:

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

记录结果如下:

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

看起来console.log((myArray.pop()))语句不仅显示了值,而且实际上正在执行'pop'。

这是正常行为吗?

4 个答案:

答案 0 :(得分:0)

是的,这是正常行为。 pop删除数组中的最后一个元素并返回其值。如果您只是寻找最后一个元素而不删除它,您可以这样做:

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

答案 1 :(得分:0)

方法arr.pop()从数组中删除最后一个元素,并将该值返回给调用者。它从数组中返回被删除的元素; undefined如果数组为空。所以这是理想的行为。

答案 2 :(得分:0)

是的!它表现正常。根据MDN的文档Arrays POP。您可以看到它清楚地表明它将改变数组的长度。除此之外,pop函数还会返回已删除的元素,这就是console.log(myArray.pop())打印4的原因。 pop方法删除最后一个元素返回该元素

答案 3 :(得分:0)

它的工作完美。 在数组中,有两种插入和删除方法。 其中一个是push(),另一个是pop()。 通常,push()从开头插入一个元素,pop()从中删除元素。 在你的情况下,

console.log(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.log is displaying the array after removing 4.