Рекурсивное построение списка свойств
Чтобы обойти сложный объект и извлечь иерархический список его свойств, рассмотрите возможность использования рекурсивной функции. Этот метод эффективно фиксирует вложенные отношения внутри структуры объекта.
Наш пример объекта с его вложенными свойствами служит тому примером:
var object = {
aProperty: {
aSetting1: 1,
aSetting2: 2,
aSetting3: 3,
aSetting4: 4,
aSetting5: 5
},
bProperty: {
bSetting1: {
bPropertySubSetting : true
},
bSetting2: "bString"
},
cProperty: {
cSetting: "cString"
}
}
Чтобы иерархически построить желаемый список ключей свойств, мы можем использовать такую рекурсивную функцию:
function iterate(obj, stack) {
for (var property in obj) {
if (obj.hasOwnProperty(property)) {
if (typeof obj[property] == "object") {
iterate(obj[property], stack '.' property);
} else {
console.log(property " " obj[property]);
$('#output').append($("").text(stack '.' property))
}
}
}
}
iterate(object, '')Эта функция работает рекурсивно, начиная с исходного объекта и пустого стека. Исследуя объект, она создает строку стека, представляющую иерархический путь к каждому свойству.
- Для свойств примитивного типа функция регистрирует ключ свойства и его значение.
- Для свойств примитивного типа. вложенных объектов, функция рекурсивно вызывает саму себя, передавая вложенный объект и добавляя ключ свойства к строке стека.
Результатом является список ключей свойств, фиксирующий иерархическую структуру исходного объекта. .
Это решение эффективно объединяет рекурсию с итерацией свойств, обеспечивая комплексный подход к построению иерархического списка свойств объекта.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3