我很难理解这段代码的行为:
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'。
这是正常行为吗?
答案 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.