Я пытаюсь глубже погрузиться в JavaScript и
столкнулся с уникальным сценарием, в соответствии с которым данные представляются односторонним образом, но отображение зависит от дочерних свойств, определяющих организацию родительского элемента. (* есть ли термин для этого?)
Как я могу представить эти данные так, чтобы они были упорядочены по «формам». И, возможно, дело не в обращении данных, а в создании какого-то отношения.
Результатом должен стать клон. не изменять исходные данные.
либо чистый JavaScript, либо _.lodash.
Хороший ответ предложит метод для манипулирования данными, чтобы они могли быть представлены с помощью forms.name.
превосходный ответ продемонстрирует, как (показать код) манипулировать данными с form.name.
С учетом исходных данных, представленных в этом методе.
parent : {
childOne: {
canHide : true,
canStop : false,
forms : [
{name: 'pathway 1', enabled: true},
{name: 'pathway 2', enabled: false},
{name: 'pathway 3', enabled: false}
]
},
childTwo: {
canHide : true,
canStop : false,
forms : [
{name: 'pathway 1', enabled: true},
{name: 'pathway 2', enabled: false},
{name: 'pathway 5', enabled: false},
{name: 'pathway 7', enabled: false}
]
}
},
Что я пытаюсь выяснить, так это как мне представить данные более похожими на это?
ПРИМЕЧАНИЕ: это child.forms.name может содержать пробелы.
newParent : {
pathway 1 : {
childOne: { enabled : true },
childTwo: { enabled : false }
},
pathway 2 : {
childOne: { enabled : false },
childTwo: { enabled : false }
},
pathway 3 : {
childOne: { enabled : true },
},
pathway 5 : {
childTwo: { enabled : false }
},
pathway 7 : {
childTwo: { enabled : false }
}
},
Я не совсем уверен, что именно так должны быть структурированы данные.
Я пытаюсь узнать больше JavaScript.
Я думаю, что дисплей будет выглядеть так:
Pathway 1
childOne . [checkbox] => enabled : true|false
childTwo . [checkbox] => enabled : true|false
...
Pathway 7
childTwo . [checkbox] => enabled : true|false
Пока я пробовал:
Я сделал цикл for, основанный на длине формы. Имя в «родительском» объекте.
Вставьте каждый файл forms.name в новый массив.
использовал lodash uniq для возврата только уникального (дедупликация массива)
Оттуда я подумал, что должен быть способ снова зациклить родительский элемент, создав новый массив, в котором каждый дочерний элемент (childOne, childTwo и т. Д.) Добавляется под каждым именем form.name из уникального списка.
Но тогда мне все еще нужно вернуть свойство "enabled".
UGGGG должен быть лучший способ?
Я читал кое-что о реляционных базах данных.
Есть ли такой код, чтобы мне не пришлось изобретать велосипед?