2014-01-30 2 views
-1

Я борюсь с моей страницей. JavaScript не делает то, что нужно, потому что переменная [] не заполняется! Пожалуйста, обратите внимание мой код:Переменная 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

Попробуйте поместить свой Threshold_X между одинарными кавычками, чтобы они были названы свойствами. –

+3

cuz 'datasets ['DataItem1'] ['Threshold_0'] ['Threshold_2']' is 'undefined'. Я думаю, что вы ищете' datasets ['DataItem1'] ['Threshold_2'] ' –

ответ

2

Здесь вы пытаетесь получить доступ к свойству Threshold_2 через Threshold_0, вы должны получить его через DataItem1

failedData.push(datasets['DataItem1']['Threshold_0']['Threshold_2']); 

Становится

failedData.push(datasets['DataItem1']['Threshold_2']); 
+0

Да, я вижу сейчас , Итак, мой последний код - 'failData.push (datasets ['DataItem1'] ['Threshold_0'], наборы данных ['DataItem1'] ['Threshold_2']);' который отлично работает – MyDaftQuestions

1

Следующие свойства сделать имеют значение:

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.

0

У вас есть опечатка в конце. Удалить последнее});

Смежные вопросы