#javascript #reactjs #mapping
#javascript #reactjs #сопоставление
Вопрос:
Как мне отобразить массив объектов ниже, где я хочу отобразить как Module1, так и его вложенные модули?
const data = [
{
module1 : ["submod1", "submod2"]
},
{
module2 : ["submod3", "submod4"]
}
]
Я также хочу передать «module1» и его массив в качестве реквизита другому компоненту.
Комментарии:
1. Каков ожидаемый результат?
2. как выглядит результат?
3. Я добавил ожидаемый результат в виде изображения в конце описания. пожалуйста, проверьте
Ответ №1:
Для извлечения module1:
const module1Array = data[0].module1.map(sm=> {
return sm
}
);
Чтобы получить все массивы подмодулей в новом массиве:
const modulesArray = data.map(m => {
return Object.values(m)[0];
})
Почему бы просто не передать данные в качестве реквизита и не сопоставить их в вашем компоненте? ->
const Example = (data) => {
const modules = data.map(m => {
return (
<div>
<h1>{Object.keys(m)}</h1>
<p>{Object.values(m)}</p>
</div>)
})
return (
<div>
{modules}
</div>
)
}
export default Example
Комментарии:
1. я также хочу вернуть module1 и module2. ваш код очень специфичен для подмодулей модуля 1
2. Вы должны быть более конкретны с ожидаемым результатом. Изображение, которое вы предоставляете, уже похоже на структуру «данных». Я отредактировал свой пост, чтобы включить способ получения всех вложенных массивов в новый массив.
3. спасибо за вашу помощь. но что, если я также хочу вернуть «module1» вместе с его подмодулями. я хочу передать основной модуль («Module1») и его вложенные модули (submod1, submod2) как отдельные реквизиты для компонента. Как я могу это сделать?