2012-01-06 5 views
1

У меня возникла проблема с объектом для ... петлиjavaScript Объект для каждого цикла

См. Snap.

Я получаю point1 undefined.

Пожалуйста, предложите мне. enter image description here

var applicationMap = jsonContent.application.map; 
    var jsonContent = ConfigurationJSON.getData(); 
      var pointTypes = {}; 
      for(var app in applicationMap){ 
       pointData = this.getApplicationPoints(app); 
       for (var point1 in pointData){ 
        //jsonContent.point.map[point1]; 
        pointTypes.push(TranslationJSON.translate(jsonContent.type.point.map[point1.type].name)); 
        // Create the list of point types with checkboxes.    
       } 
      } 
+0

** Pleasseeeeeee ** отправьте код в вопросе, а также снимок экрана. – Matt

+0

Где находится Snap? – Pavan

+0

Чувак, твой снимок призрачный и не читаемый нам. Скопируйте свой код и вставьте прямо здесь. – Lion

ответ

0

Я просто положить consol.log(point1) под for(var point1 in pointData){

и проверьте снова печатает, а также дал мне значение. enter image description here

+0

Хорошо. Затем тщательно проверьте объект ** pointData **. Я думаю, что есть правильные ключи и одна или несколько неправильных клавиш. – Diode

+0

Но ваше окно просмотра показывает, что есть только две пары ключевых значений. Это работает сейчас? – Diode

-1

В соответствии с кодом вы выложили, вы не закрыли внешний цикл.

+4

Это приведет к синтаксической ошибке, а не к неопределенности переменной. – Matt

0

Убедитесь, что клавиши в pointData являются строками.

pointData = {"1389427585719546608":{name:"Rajesh"}, "1389427585719546609":{name:"Vinod"}} 

for(var point1 in pointData){ 
    console.log(point1); 
    var item = pointData[point1]; 
    console.log(item.name); 
} 

Это должно дать журналы

1389427585719546608 
Rajesh 
1389427585719546609 
Vinod 

Пожалуйста, подтвердите это.

+0

'point1.type' встречается внутри for (var point1 in pointData)'. Очевидно, что 'point1' не является обычной строкой. Какова ценность этого ответа? –

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