'.map() removes duplicates but I want to keep duplicates?

I have this large array of API data that I filter down to a smaller amount. The issue is that the current system I made uses .map() to set an order preference for that data but it removes any duplicates. The data is filtered by sports league so if two games from the same league are played two should go through to the final array, but only one goes through. The ordered array removes duplicates.

const json = (await res.json())?.response;

const ordered = desiredOrder.map((id) => json.find(({ league }) => league?.id === id));

const filtered = [...new Set(ordered)].filter(item => item !== undefined)

Here is the desiredOrdered array, each league is designated a number and then the leagues are ranked best to worst.

var desiredOrder = [
    1, 2, 3, 4, 5, 6, 7, 9, 10, 29, 30, 31, 32, 33, 34, 39, 45, 48, 140, 142, 135, 137, 78, 81, 61, 65, 66, 88, 94, 96, 253, 203, 262, 179, 185,
    144, 188, 169, 40, 41, 42, 43, 235, 207, 218, 141, 136, 333, 307, 197, 62, 79, 80, 128, 130, 292, 98, 101, 103, 106, 113, 119, 283, 71, 73,
    265, 239, 211, 89,
];

Here is the API output so you can see where the id is derived (there are over 100 of these elements, this is entry 0)

0:
fixture: {id: 710877, referee: 'Anthony Taylor, England', timezone: 'UTC', date: '2022-05-19T18:45:00+00:00', timestamp: 1652985900, …}
goals: {home: 3, away: 2}
league: {id: 39, name: 'Premier League', country: 'England', logo: 'https://media.api-sports.io/football/leagues/39.png', flag: 'https://media.api-sports.io/flags/gb.svg', …}
score: {halftime: {…}, fulltime: {…}, extratime: {…}, penalty: {…}}
teams: {home: {…}, away: {…}}
[[Prototype]]: Object

So using the output above, I need to make it so another game with id 39 is filtered through into the array. I have tried a lot of things to make it work but it is not working.

If you want to play with WebDev --> https://footballify.net/test

Github - https://github.com/Footballify/Footballify.github.io/tree/main/test

=nn



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source