2015-08-19 3 views
0

Если у меня есть nested array следующим образом:JavaScript с помощью Foreach для вложенных массивов

var attendees={attendees :[{name: John},{name: Terry}]} 

как я Переберите имена с помощью функции forEach? Я пробовал:

attendees.forEach(function(attendees){ 
    console.log(attendees.name): 
}); 

но это не цикл через подмассивов и просто дает мне:

[{name: John},{name: Terry}] 

Цените помощь!

+0

должно быть 'attendees.attendees.forEach'. Первый - это объект с атрибутом 'attendees', который является массивом. – Yoshi

ответ

2

С другим Еогеаспом когда детектирует массив:

attendees.forEach(function(attendee){ 
    if(attendee.isArray()) { 
     attendee.forEach(function(subattendee) { 
     console.log(subattendee): 
     }); 
    } 
}); 

Будь осторожен с вложенным переменным. У вас одно и то же имя для считанного массива и для переменной asigned.

Успехов

+0

Это работает! Со следующей поправкой: if (Array.isArray (attendee)) – qts

1

Это должно быть так:

var attendees={ 
attendees : [ 
    { name: 'John'}, 
    { name: 'Terry'} 
]}; 



attendees.attendees.forEach(function(attendees){console.log(attendees.name);}); 
+0

hmmm, когда я пытаюсь «attendees.attendees.forEach (function (attendees)» Я получаю: «Не могу прочитать свойство» для ошибки «undefined» и когда я пытаюсь » if (attendee.isArray()) «Я получаю сообщение об ошибке« undefined is not a function » – qts

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