Господа, у меня есть объект с разным уровнем вложенности. Как я могу получить то или иное значение я знаю, ниже есть наглядный пример:
var family = {
adults: {
granddad: {
name: 'Макар',
age: 76,
profession: 'Летчик',
pensioner: 'Да'
},
grandmother: {
name: 'Валентина',
age: 72,
profession: 'Преподователь химии',
pensioner: 'Да'
},
father: {
name: 'Виниамин',
age: 40,
profession: 'Художник',
pensioner: 'Нет'
},
mother: {
name: 'Мария',
age: 38,
profession: 'Бухгалтер',
pensioner: 'Нет'
}
},
сhildren: {
boys: {
adults: {
name: 'Макар',
age: 18,
learning: 'Летное училище'
},
juvenile: {
name: 'Алексей',
age: 17,
learning: 'Средняя школа №1515'
}
},
girls: {
adults: {
name: 'Елизавета',
age: 20,
learning: 'Консерватория'
},
juvenile: {
name: 'Диана',
age: 12,
learning: 'Средняя школа №1515'
}
}
}
};
var objectValues = ['Макар', 76, 'Летчик', 'Да', 'Валентина', 72, 'Преподователь химии', 'Да', 'Виниамин', 40, , 'Художник', 'Нет', 'Мария', 38, 'Бухгалтер', 'Нет', 'Макар', 18, 'Летное училище', 'Алексей', 17, 'Средняя школа №1515', 'Елизавета', 20, 'Консерватория', 'Диана', 12, 'Средняя школа №1515']
document.getElementById('wrapper').innerHTML += 'Так я получаю все ключи объекта family: <br/>' + '<code>\
Object.keys(family.adults)<br/>\
</code>' + Object.keys(family) + ' <hr/> <br/>';
document.getElementById('wrapper').innerHTML += 'Так я могу получить любое значение: <br/>' + '<code>\
family.сhildren.boys.adults.name<br/>\
</code>' + family.сhildren.boys.adults.name + ' <hr/> <br/>';
document.getElementById('wrapper').innerHTML += '<p>' + objectValues + '</p>'
* {
margin: 0;
padding: 0;
}
html,
body {
width: 100%;
height: 100%;
background: #272727;
color: white;
}
#wrapper {
width: 70%;
height: 70%;
font-size: 22px;
padding: 20px;
}
code {
color: orange;
}
p {
color: red;
}
<div id="wrapper"></div>
Вопрос: как я могу получить все значения данного объекта (пример список красного цвета) со всеми вложенными значениями не ссылаясь на ключи. Одним словом я хочу получить массив как
objectValues
не набирая это все в ручную
var family = {
adults: {
granddad: {
name: 'Макар',
age: 76,
profession: 'Летчик',
pensioner: 'Да'
},
grandmother: {
name: 'Валентина',
age: 72,
profession: 'Преподователь химии',
pensioner: 'Да'
},
father: {
name: 'Виниамин',
age: 40,
profession: 'Художник',
pensioner: 'Нет'
},
mother: {
name: 'Мария',
age: 38,
profession: 'Бухгалтер',
pensioner: 'Нет'
}
},
сhildren: {
boys: {
adults: {
name: 'Макар',
age: 18,
learning: 'Летное училище'
},
juvenile: {
name: 'Алексей',
age: 17,
learning: 'Средняя школа №1515'
}
},
girls: {
adults: {
name: 'Елизавета',
age: 20,
learning: 'Консерватория'
},
juvenile: {
name: 'Диана',
age: 12,
learning: 'Средняя школа №1515'
}
}
}
};
Object.values(family.adults).forEach(function(snap) {
Object.values(snap).forEach(function(snap2) {
document.write(snap2)
});
});
Object.values(family.сhildren).forEach(function(snap) {
Object.values(snap).forEach(function(snap2) {
Object.values(snap2).forEach(function(snap3) {
document.write(snap3);
});
});
});
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем привет! Столкнулся с задачей передачи GET параметра в ссылкуПри переходе к пример с фейсбука, нужно подставить в ссылку другой номер...
Всем привет! Подскажите, пожалуйста, у меня две функции: Первая формирует данные и передаёт их во Вторую, которая отправляет их на сервер