«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу рекурсивно построить иерархический список свойств сложного объекта?

Как я могу рекурсивно построить иерархический список свойств сложного объекта?

Опубликовано 2 ноября 2024 г.
Просматривать:955

How can I recursively construct a hierarchical property list of a complex object?

Рекурсивное построение списка свойств

Чтобы обойти сложный объект и извлечь иерархический список его свойств, рассмотрите возможность использования рекурсивной функции. Этот метод эффективно фиксирует вложенные отношения внутри структуры объекта.

Наш пример объекта с его вложенными свойствами служит тому примером:

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, '')

Эта функция работает рекурсивно, начиная с исходного объекта и пустого стека. Исследуя объект, она создает строку стека, представляющую иерархический путь к каждому свойству.

  • Для свойств примитивного типа функция регистрирует ключ свойства и его значение.
  • Для свойств примитивного типа. вложенных объектов, функция рекурсивно вызывает саму себя, передавая вложенный объект и добавляя ключ свойства к строке стека.

Результатом является список ключей свойств, фиксирующий иерархическую структуру исходного объекта. .

Это решение эффективно объединяет рекурсию с итерацией свойств, обеспечивая комплексный подход к построению иерархического списка свойств объекта.

Заявление о выпуске Эта статья перепечатана по адресу: 1729405459. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3