【发布时间】:2021-01-19 11:45:56
【问题描述】:
我正在映射一个数组并基于数据我将Option 元素推入一个数组,如下所示
let make_children: any | null | undefined = [];
buyerActivityResult && buyerActivityResult.simulcastMyAccount.data.map((item: { make: {} | null | undefined; }, key: any) => {
make_children.push(
<Option key={key}>{item.make}</Option>
);
});
以下数据数组有几个对象,这些对象有一个名为model的属性。
buyerActivityResult.simulcastMyAccount.data
如果属性model 有重复数据,我想防止将选项插入我的数组。对于所有相似的模型值,它只需要推送一次。
我该怎么做?
我试过这样的
buyerActivityResult && buyerActivityResult.simulcastMyAccount.data.map((item: { model: {} | null | undefined; }, key: any) => {
model_children.indexOf(item.model) === -1 && model_children.push(
<Option key={key}>{item.model}</Option>
);
});
但仍有重复的值被推入我的数组。
【问题讨论】:
-
为什么要将数据推送到地图函数内的数组中?
-
model_children 是从哪里来的?
-
尝试给一个Minimal Reproducible 代码块,你的代码是一团糟。另外,如果该数组很大,我建议将数据存储在像对象这样的哈希图中。
标签: javascript arrays reactjs typescript