У меня есть массив объектов:
const arr = [
{
a: value1,
b: value2,
..........
},
{
a: value1,
b: value2,
c: value3,
.........
},
{........,
........,
........,
........,
}
]
Количество свойств в каждом объекте меняется, мне нужно отрендерить значения этих свойств в 3 колонки, вот как я это делаю сейчас:
render(){
const columns = arr.map((item) => {
return(
<div className={column}>
{item.a ? <span>{item.a}</span> : ''}
{item.b ? <span>{item.b}</span> : ''}
.....................
.....................
</div>
)
})
}
return(
{columns}
)
Как мне через функцию рендерить тоько те спаны, в которых есть значения, более оптимально и правильнее?
Вы можете использовать метод map
также и с объектом, только вызывать его нужно не для самого объекта, а для его ключей, к-ые можно получить методом Object.keys
.
Кроме того не обязательно сохранять результат arr.map
в переменной, можно сразу поместить его в return
.
render(){
return (
{arr.map((item) =>
<div className={column}>
{Object.keys(item).map((key) =>
<span>{item[key]}</span>
)}
</div>
)}
)
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть 2 строки, хочу вывести разницу между ними после их сравненияДля этого я решила преобразовать их к массивам, потом сравнивать эти массивы,...
Может тут кто-то подскажет решение проблемы? Пишу просто туду лист через классы, и не могу запустить метод deleteTask, тк не знаю как его закрепить...
как в Webpack настроить CSS Modules чтобы генерировать вот такие классы (Hesh)
Переведите 4 строчку на нативный js пожалуйста