You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么使用push添加的元素未在控制台console中正确显示?

问题根本原因

这是浏览器开发者控制台的惰性求值(懒渲染)特性和你的代码执行顺序共同导致的展示差异,并非你的push调用逻辑出错:

  • 你的push操作执行完成后,myArray长度确实变为5,同时包含新增的字符串Jacob和子数组['Brandy', 2],元素添加操作本身是成功的
  • 执行console.log(myArray)时,控制台只会先渲染数组的预览快照,不会立即读取并渲染数组的全量内容
  • 紧接着你执行了pop()操作,将刚添加的子数组从myArray中移除,此时myArray的长度已经变回4,第4位元素不存在
  • 当你点击控制台数组旁的展开箭头时,控制台才会实时读取当前最新的myArray状态来渲染详情,所以你看到的是pop修改后的结果:长度为4,没有第4位的子数组元素

验证方案

你可以通过以下两种方式拿到打印时刻的真实数组状态,避免后续修改对打印结果的干扰:

  1. 打印时直接序列化数组,捕获当前时刻的快照:
console.log(JSON.stringify(myArray))
  1. 调整代码执行顺序,将pop操作放到数组打印操作之前,或者单独打印pop的返回值,你会看到返回值就是你添加的子数组,也能证明push操作确实执行成功。

内容的提问来源于stack exchange,提问作者hsivru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 06:54:04