Я отображаю данные в сетке с использованием фрагмента снизу `
{this.state.rows.map((qc) =>
<div className="column table">
<div className="row label">
<div className="column-label qc-number hover-false">{}</div>
<div className="divider"></div>
<div className="column-label qc-date-label">{qc.CreatedOn.replace(",","")}</div>
<img className="info" src="../ClientApp/images/Info.svg"></img>
</div>
{qc.BinsByDayByOrchardsQCs.map((qc2) =>
qc2.BinsByDayByOrchardsQCsDefects.map((qc3) =>
<div onChange={this.removeEmpty} className="row table">{qc3.Count}</div>
))}
<div className="row table total">13</div>
</div>)}
`
Это возвращает довольно мало данных, так что я вроде сделал простой console.log, который отражает данные, которые я получаю.
{console.log("console", this.state.rows.map((qc) =>
qc.BinsByDayByOrchardsQCs.map((qc2) =>
qc2.BinsByDayByOrchardsQCsDefects)))}
Что возвращает
0: []
1: []
2: []
3: [Array(4)]
4: [Array(4)]
5: [Array(4)]
6: [Array(4)]
7: []
8: []
9: [Array(4)]
10: []
Как видите, я получаю довольно много пустых объектов, которые React отображает и отображает. Как мне удалить эти пустые объекты? Я знаю о файле array.filter, но не знаю, как применить его к моему JSX
РЕДАКТИРОВАТЬ: Попытка при первом решении дано
{console.log("console", this.state.rows.map((qc) =>
qc.BinsByDayByOrchardsQCs.filter(({length}) => length > 0).map((qc2) =>
qc2.BinsByDayByOrchardsQCsDefects)))}
возвращает
0: []
1: []
2: []
3: []
4: []
5: []
6: []
7: []
8: []
9: []
10: []
Те же результаты, что и у @ yourfavouritedev