javascript - Javascript 控制台在折叠和展开时显示不同的值,并且与引用时不同
问题描述
我在 d3.js 中工作,并使用我需要的值创建了这个对象。然后当我去绘制 d3 线时,当我最初启动值时,这些值已经神秘地变为 0 值。
这太奇怪了,因为我可以这样做console.log(d)
,并且取决于对象在控制台中是折叠还是展开,它会显示不同的d.my_count
.
以下是我如何递增(更改)这些值:
dataset.then(function(data) {
//loop through all the data
data.map(function (d){
//round the score
var rating = Math.round(d.average_rating)
//bump up max rating if needed
if(rating > maxRating){maxRating = rating};
if(years.includes(d.year)){
tmpIndex = indexByYear(d.year)
ratingCountByYear[tmpIndex][rating]['my_count'] += 1;
}
})
})
看到上面写着的那行:ratingCountByYear[tmpIndex][rating]['my_count'] += 1;
?那是显然对我的ratingCountByYear
对象进行更改的行。但它只会在控制台中显示为扩展时的更改值。
这是 Firefox 中的控制台。Chrome表现出类似的行为,除了展开和折叠的视图显示我想要的值,而尝试访问这些值总是给我实例化的值(我知道是因为我试图改变实例化,只有实例化的值来了当我尝试访问它时)
世界上到底发生了什么?我假设对象如何在引擎盖下保存在内存中存在某种问题?!?!?
解决方案
我想到了。我试图在数据处理完成之前画线,但它没有更新。我将所有绘图放入一个函数中,一旦完成数据处理,我就会调用该函数,并且成功了。
对于控制台,最初打印的行(未展开)显示的是初始化值,而展开的是更新的值。
推荐阅读
- uno-platform - Uno Platform 应用程序对 Android 主题更改做出反应
- python - TypeError: unhashable type: 'list using Counter
- c# - 如果所有者类型是拥有它的类,而不是“字符串”,则未设置 DependencyProperty
- git - 创建后续项目,基于旧的 git 存储库,偶尔同步和保留历史记录
- c# - “生成”游戏对象的正确方法。(我想产生弹丸)
- python - colab 中的 ISR 库不工作,AttributeError: 'str' object has no attribute 'decode'
- jenkins - 如何从 failFast = true 的并行触发作业中获取结果?
- javascript - React:如何实现 Tawk 之类的东西
- powerbi - 显示预先计算的估计值和误差线
- wpf - 流文档组合框上的 VB.NET WPF 样式更改生成触发成功操作的异常?