javascript - 从嵌套地图对象javascript中删除重复项
问题描述
我正在使用看起来像的嵌套地图在网格上显示数据
{
this.state.rows.map((qc) =>
qc.BinsByDayByOrchardsQCs.map((qc2) =>
qc2.BinsByDayByOrchardsQCsDefects.map((qc3) =>
{console.log("results", qc3.Defect)}
<div className="row table">
{qc3.Defect}
</div>
)
)
)
}
它返回看起来像这样的数据
results Scuff
results Sunburn
results Bruise
results Hail damage
results Scuff
results Sunburn
results Bruise
results Scuff
results Sunburn
results Hail damage
如何摆脱重复?我试过了
{console.log("unique",[...new Set(qc2.BinsByDayByOrchardsQCsDefects.map((qc3) => qc3.Defect))])}
但这会返回映射对象的每次迭代
解决方案
简单的方法是创建一个数组,在其中推送打印的元素。在打印另一个之前检查它是否存在于数组中。
const arr = [];
{
this.state.rows.map((qc) =>
qc.BinsByDayByOrchardsQCs.map((qc2) =>
qc2.BinsByDayByOrchardsQCsDefects.map((qc3) =>
{!arr.includes(qc3.Defect) && arr.push(qc3.Defect) &&
(<div className="row table">
{qc3.Defect}
</div>)
}
)
)
)
}
推荐阅读
- flutter - 初始化一个在我滑动页面时不会重置其值的变量(颤振)
- javascript - 基于数组对象键值需要setState
- python - 绘制 yticks 以获取来自两列而不是仅一列的数据
- python - 在 Python 中绘制具有 2D 向量条目的函数
- javascript - 如何重新启动倒数计时器以及为什么它会跳过几秒钟
- powerbi - 使用多个标准选择计数
- javascript - 无法对未安装的组件 REACT-NATIVE 执行 React 状态更新
- python - PyCharm。意外的参数 可能的被调用者
- php - PHP 查询显示空白页
- cluster-analysis - 整群抽样中的问题:“与负下标混合”