我正在努力处理我的网页。 JavaScript没有做它应该做的事情,因为没有填充变量[]!请考虑我的代码:
var datasets = { "DataItem1": {
label: "Idle Count",
dataSeries: [[13, 75.72],[13, 1],[13, 0.17],[13, 55.72],[13, 90.72],[13, 91.06]],
Threshold_0: [[134, 1],[133, 1]],
Threshold_2: [[133, 1],[131, 1]]
}
};
var data = [];
var failedData = [];
data.push(datasets['DataItem1']['dataSeries']);
failedData.push(datasets['DataItem1']['Threshold_0']['Threshold_2']);
});
问题在于
failedData.push(datasets['DataItem1']['Threshold_0']['Threshold_2']);
使用firebug的监视窗口,我可以看到当我在此处添加中断时,failedData未定义。因此,我将鼠标悬停在此行上的数组项上,并且Threshold_0包含数据,但Threshold_2没有(Threshold_2未定义)。
在观察窗口中,我可以看到数据集[]已按预期创建了所有对象。
我看不清楚为什么而且我很困难。
答案 0 :(得分:2)
在这里,您尝试通过Threshold_2
访问媒体资源Threshold_0
,您应该通过DataItem1
failedData.push(datasets['DataItem1']['Threshold_0']['Threshold_2']);
<强>变为强>
failedData.push(datasets['DataItem1']['Threshold_2']);
答案 1 :(得分:1)
以下属性 do 具有值:
datasets['DataItem1']['Threshold_0'][0] == [134, 1]
datasets['DataItem1']['Threshold_0'][1] == [133, 1]
我不确定你真正想做什么。也许这就是你打算做的事情?
failedData.push(datasets['DataItem1']['Threshold_0']);
failedData.push(datasets['DataItem1']['Threshold_2']);
否则,请描述您希望在failedData
中找到的值。
答案 2 :(得分:0)
你最后有一个错字。删除最后一个});