подскажите как можно перебрать такой массив на js
[Data
{
id=3,
name='test_1',
duration=60,
level=3,
country=Country{
id=1,
name='Russia',
countryCode='RU'
},
images=[
Media{
id=101,
folder=Folder{
id=1,
name='quest_images'
},
name='1.jpg',
fileName='img-1499215567399.jpg'
},
Media{
id=102,
folder=Folder{
id=1,
name='quest_images'
},
name='2.jpg',
fileName='img-1499215574221.jpg'
}
]
},
Data
{
id=4,
name='test_2',
duration=20,
level=1,
country=Country{
id=1,
name='Russia',
countryCode='RU'
},
images=[
Media{
id=101,
folder=Folder{
id=1,
name='quest_images'
},
name='1.jpg',
fileName='img-1499215567399.jpg'
},
Media{
id=102,
folder=Folder{
id=1,
name='quest_images'
},
name='2.jpg',
fileName='img-1499215574221.jpg'
}
]
}
]
или как достать из первого обьекта id=3, name='test_1' и из второго обьекта id=4, name='test_2'?
попробуйте етим циклом, если я првильно понял:
for(var i = 0; i < array.length;i++){
alert(array[i].id + ' ' + array[i].name);
alert(array[i].id + ' ' + array[i].name);
}
если масив правильно построен должно работать и выводить эти свойства (вместо array - название вашего массива)
var array = [{
id: 3,
name: 'test',
},
{
id: 4,
name:'test2',
}
]
for(var i = 0; i < array.length;i++){
alert(array[i].id + ' ' + array[i].name);
}
Для этого нужно использовать замыкание. В примере, функция eachObject
принимает в качестве аргумента объект и перебирает его свойства. На каждой итерации функция проверяет, не является ли свойство объектом? Если является, функция вызывает сама себя и передает в качестве аргумента это свойство. Иначе функция просто выводит в консоль полученное свойство.
var obj = {
name : 'object',
type : 'object',
props : {
prop1 : '123',
prop2 : 'abc'
}
}
var eachObject = function(obj){
for (key in obj) {
if( typeof(obj[key]) === 'object' ){
eachObject(obj[key]);
} else {
console.log(key);
}
}
};
eachObject(obj);
Виртуальный выделенный сервер (VDS) становится отличным выбором
ПриветКак вывести дату в родительном падеже в momentjs? Например, не сентябрь, а сентября