javascript 没有重复的新数组
javascript new array without duplicates
嗯..我已经尝试了一些东西但无法让它工作......我知道它应该比我做的更简单。
我想创建一个没有重复的数组。你能帮帮我吗?
useEffect(() => {
allBands.forEach(band => {
if(!availableGenres.includes(band.bandGenre)){
setAvailableGenres(genres => [...genres, band.bandGenre])
}
})
}, [allBands])
我可能会建议使用内置 Set
对象来跟踪独特的流派。一旦您的 Set
拥有所有流派,您可以使用展开运算符 (...
) 将其转换回数组并设置可用流派。
useEffect(() => {
const genres = new Set();
allBands.forEach(band => {
genres.add(band.bandGenre);
})
setAvailableGenres([...genres]);
}, [allBands])
如果我没有误解你的数据结构,你可以试试这个。
useEffect(() => {
setAvailableGenres(genres => [
...genres,
...allBands.map(band => band.bandGenre).filter(bandGenre => !genres.includes(bandGenre))
])}, [allBands])
嗯..我已经尝试了一些东西但无法让它工作......我知道它应该比我做的更简单。
我想创建一个没有重复的数组。你能帮帮我吗?
useEffect(() => {
allBands.forEach(band => {
if(!availableGenres.includes(band.bandGenre)){
setAvailableGenres(genres => [...genres, band.bandGenre])
}
})
}, [allBands])
我可能会建议使用内置 Set
对象来跟踪独特的流派。一旦您的 Set
拥有所有流派,您可以使用展开运算符 (...
) 将其转换回数组并设置可用流派。
useEffect(() => {
const genres = new Set();
allBands.forEach(band => {
genres.add(band.bandGenre);
})
setAvailableGenres([...genres]);
}, [allBands])
如果我没有误解你的数据结构,你可以试试这个。
useEffect(() => {
setAvailableGenres(genres => [
...genres,
...allBands.map(band => band.bandGenre).filter(bandGenre => !genres.includes(bandGenre))
])}, [allBands])