2014-02-20 3 views
0

Я не человек Javascript, но унаследовал радости. Все идет нормально.Почему этот объект не является массивом

Мой JavaScript Object, в поджигатель, выглядит следующим образом

enter image description here

Это показывает, что массив sss имеет 4 элемента в массиве (0,1,2 и 3).

Усложнение приходит, когда я расширяю один из этих элементов, я вижу

enter image description here

Из моих собственных тестов это not массивы. Они просто рассматриваются как объекты (или, как кажется).

Внутри каждого объекта DataItem есть объект, вы можете просто его вызывать под названием lzabel. Каждое значение DataItem имеет это значение. Мне нужно прочитать значения в цикле for.

Так что, я бы надеялся использовать

for (var i = 0; i < sss[0];i++) 
{ 
    var z = sss[0][i]; //This is never executed 
} 

, но нет! Нет ошибки, но содержимое цикла никогда не выполняется (как будто sss [0] не имеет элементов).

Как проехать так?

for (var i = 0; i < sss[0];i++) 
{ 
    var z = sss[0][i]["lzabel"]; 
} 

EDIT

Я добавил следующий код

var t1 = sss.length; 
var t2 = sss[0].length; 

Firebug сообщает t1 = 4 и t2, как определено.

+0

Проникнуть по объекту? –

+0

«В связи с подписанием различных соглашений о неразглашении» - не имеет значения. нам не нужен * фактический * код. любой минимальный код, который * воспроизводит проблему *, выполняет задание. –

+0

На самом деле, я говорил о том, что снимки экрана разрезаются таким образом, и мой комментарий был только вежливым! – MyDaftQuestions

ответ

1

Чтобы получить Izabel ...

var sssData = sss[0]; // FYI: sss[0].length won't work because it's an object not an array 

for (x in sssData) { 
    var dataItem = sssData[x]; 
    console.log(dataItem.Izabel); // one way to get Izabel property value 
    console.log(dataItem["Izabel"]) // two ways to get Izabel property value 
} 
0

Вы должны быть в состоянии петли, как это:

for (i in sss[0]) { 
    var z = sss[0][i]; 
} 
+0

'i' не определено (хотя теперь оно выполняется в цикле)! – MyDaftQuestions

0

Что-то вроде этого?

for(i=0;i<sss.length;i++){ 
for(j=1;j<parseInt(Object.keys(sss[i]).length)+1;j++){ 
    console.log(sss[i]["DataItem"+j].Izabel); 
    } 
} 
Смежные вопросы