嘿,谁能告诉我为什么我得到oppDesc
和contestEntriesAmt
的重复值,即使我使用oppDesc
的集合(contestEntriesAmt
不需要在集合中,因为没有什么是重复的)?
为什么oppDesc
和contestEntriesAmt
都重复?这根本没有意义。
每当我删除entries.map(() => {...})
,oppDesc
显示正确(没有重复的值)。
const oppDescData = () => {
const dataOppDesc = oppDesc
let desc = [];
dataOppDesc.forEach((oppD) => {desc.push(oppD.oppDescription);});
const dataNumEntries = numEntries
let entries = [];
dataNumEntries.forEach((entry) => {entries.push(entry.SumOfEntries);});
let filteredDesc = new Set(desc);
let oppDescription = [...filteredDesc];
return (
<>
{
oppDescription.map((oppDesc) => {
return entries.map((contestEntriesAmt) => {
return(
<tr>
<td>{oppDesc}</td>
<td>{contestEntriesAmt}</td>
</tr>
);
})
})
}
</>
);
};
当你在map中调用map来做两个列表的交集时,你会得到重复的。假设您有两个列表,每个列表有10个条目,在您的代码中,您将获得100个tr条目。即使您将使用集合,并且每个数组中的每个值都是唯一的,这仍然会发生