数组打印为空,但展开后是有数据的问题该怎么解决?

发布于 2022-09-11 22:38:30 字数 426 浏览 11 评论 0

需要把百度地图原有的点进行左边转换,转换完保存到数组中打印出来是一个空数组,但展开后可以看到数据,不知道该怎么解决?下面上代码,把转换后的数据保存到list变量中。

  var convertor = new BMap.Convertor();
  convertor.translate(pos, 1, 5, function(data){
    if(data.status === 0) {
      list.push(data.points);
    }
  });
  

然后打印查看了一下list中的数据,结果显示是一个空数组,但展开后有坐标的,想请问一下大佬们改怎么解决

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

岁月静好 2022-09-18 22:38:30

你点哪个小蓝图标,会出现:Value below was evaluated just now。没展开的值,是不同的,展开后值全是一样的。其原因是在Chrome Console.log()点击展开数组时,会重新去读一遍内存真实的值然后显示,所以展开后都是最终值。

因此,在打印二维数组时,其实如若不展开,他显示的就是当前值,但是点击展开后,会重新去内存读值,所以展开的值,全是最终值,所以看到所有二维数组打印的都是一个值的情况。

解决方法:1、打印之前克隆对象 2. Json.Stringify转换成字符串

万水千山粽是情ミ 2022-09-18 22:38:30

console.log()点击的时候会重新读取内存,我也踩过,复习了深拷贝浅拷贝的东西还~~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文