【发布时间】:2013-09-10 14:02:38
【问题描述】:
之后
for(var i=0; i < data.length; i++) {
data[i].dummyProp = parseInt(data[i].dummyProp);
}
我得到双属性名称:
data: Array[1]
0: Object
dummyProp: NaN
dummyProp: ""
来自 Chrome 开发者工具的图片:
谁能解释一下?
【问题讨论】:
-
你能给我们原始数据对象吗?或者更好地用你的代码创建一个小提琴?试试这个:JSBin
-
我无法在 JS 控制台中重现此行为...
>>> var data = new Array() undefined >>> data.push({dummyProp: "123"}); 1 >>> data [Object { dummyProp= "123" }] >>> for (var i = 0; i < data.length; i++) { data[i].dummyProp = parseInt(data[i].dummyProp); } 123 >>> data [Object { dummyProp= 123 }] -
我能想到的唯一解释是属性名称包含一些不可打印的字符。
-
不能有一个 Object.dummyProp 和一个 Object['dummyProp'] (就像字典的行为)?在那种情况下,Chrome 的控制台可能不会显示引号?
-
我之前的评论示例:jsfiddle.net/SbW6r.
标签: javascript object properties