js 获取数组长度的时候长度不对?

js 获取长度的时候,直接用console.log 输出原数组 是这样的
image.png,里面有个花括号

但是展开之后是这样的

image.png

所以获取到的length为1。为啥呢

阅读 3.4k
3 个回答

是应为你在执行log的时候,数组有值,但当你去展开的时候,已经被某些操作删除了,所以展开没有值。可以去看看js的引用数据类型

const list = [{name: '测试'}]
console.log("数组",list)
list.splice(0, 1)

因为 console.log() 输出的是一个快照。但是等你操作展开的时候,可能输出的变量已经被修改了,所以会和未展开时你看到的显示结果不一样。

可以用 console.log(JSON.stringify(logData)) 的形式来输出,这样输出的就是字符串了,而不是数组/对象的快照信息。就不会因为后续对于输出的变量操作而改变输出在控制台的信息了。

你可以把鼠标移到这里看看
image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题