【发布时间】:2020-08-03 06:20:42
【问题描述】:
我正在研究 Angular,我刚刚遇到了这个奇怪的东西,也许有人可以解释一下这个黑魔法:
console.log('coordinates', coordinates[30])
console.log('typeof x', typeof coordinates[30].x)
console.log('typeof y', typeof coordinates[30].y)
console.log('y', coordinates[30].y)
console.log('y.value', coordinates[30].y.value)
chrome 控制台中的结果是
coordinates {x: "13.69", y: "0"}
x: "13.69"
y: {value: "6.16"}
__proto__: Object
typeof x string
typeof y string
y 0
y.value undefined
result screenshot in chrome result screenshot in firefox
坐标数组来自 D3 json 导入,6.16 值似乎来自数组的前一个条目,我不明白如何。
编辑: 我不明白为什么 typeof 返回字符串而不是 Object ?
谢谢
【问题讨论】:
-
哪一部分神秘?
-
在哪里找到坐标,它不会使它们浮动。所以你必须将它们解析为像
parseFloat(coordinates[30].x)这样的浮点数 -
在控制台中记录对象之前,尝试使用 JSON.stringify(),这是一种更清晰的检查对象内容的方法
-
他说的是y的值。它显示为 y: "0",即当前值。单击展开箭头,它会显示 y: {value: "6.16"},这是更新之前的先前值。他在问这怎么可能。
标签: javascript angular d3.js