Получить полный путь к объекту глубоко вложенного объекта в JavaScript [закрыто]

Я не знаю ответа, но мне нравится вносить свой вклад в это дело за то, что он стоит. Было бы здорово, если бы они выпустили justify-self для flexbox, чтобы сделать его действительно гибким.

В моем убеждении, когда на оси есть несколько элементов, наиболее логичным способом поведения justify-self является согласование с ближайшими соседями (или ребрами), как показано ниже.

Я действительно надеюсь, что W3C будет смотреть это и, по крайней мере, подумает об этом. =)

Таким образом, вы можете иметь элемент, который по-настоящему центрирован независимо от размера левого и правого окна. Когда один из ящиков достигает точки центрального блока, он просто нажимает его, пока не будет больше места для распространения.

Легкость сделать удивительные макеты бесконечными, взгляните на этот «сложный» пример.

0
задан CD9 1 April 2019 в 08:19
поделиться

1 ответ

Вы можете добавить индекс для ключей из тех же массивов и вернуть новый объект для каждого вложенного массива.

function getFlat(array) {
    return array.reduce((r, o, i) => {
        Object
            .entries(o)
            .forEach(([k, v]) => Object.assign(r, Array.isArray(v)
                ? getFlat(v)
                : { [[k, i].join('_')]: v }
            ));
        return r;
    }, {});
}

var data = [{ dimensionId: 1, dimensionName: "dimensionName1", components: [{ componentId: 2, componentName: "componentName2", indicators: [{ indicatorId: 3, indicatorName: "indicatorName3" }, { indicatorId: 4, indicatorName: "indicatorName4" }] }, { componentId: 5, componentName: "componentName5", indicators: [{ indicatorId: 6, indicatorName: "indicatorName6" }, { indicatorId: 7, indicatorName: "indicatorName8" }] }] }];

console.log(getFlat(data));
.as-console-wrapper { max-height: 100% !important; top: 0; }

0
ответ дан Nina Scholz 1 April 2019 в 08:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: