Szybkie porownanie 2 tablic z obiektami

0

Hej, mam sobie 2 tablice z obiektami. Obiekty w 1szej i 2giej tablicy sa inne, moze je laczyc tylko pole id. Jest jakis szybszy/prostszy sposob na znalezienie obiektow ktore maja to samo id od:

openArr.forEach(openEl => {
                    for(let i = 0; i < ordersWithErrArr.length; i++)
                    {
                        if(openEl.clientOrderId == ordersWithErrArr[i].orderId)
                        {
                                //do something
                        }
                    }
2
const same = openArr.filter(open => ordersWithErrArr.some(order => order.orderId === open.clientOrderId));
2

Przelecenie pierwszej listy tworzac mape/obiekt id: element. Nastepnie przechodzac po drugiej liscie brac element po idku z mapy.

0

hej

tak naprawdę to najszybszy był by zwykły select join po ID.. wynik pokazał by właśnie to co potrzebujesz a potem pobierasz tylko z tego wyniku kolumnę ID jako twój wynik.

ps zakładam ze oba ID maja klucze indexu

1

Masz tablice a i b

Ogólnie operacja Intersection (a ∩ b) którą sobie dostosujesz do pól ID

a.filter(x => b.has(x))

1 użytkowników online, w tym zalogowanych: 0, gości: 1