Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melakukan Inner Join pada Tatasusunan Javascript?

Bagaimana untuk Melakukan Inner Join pada Tatasusunan Javascript?

Linda Hamilton
Lepaskan: 2025-01-06 00:45:40
asal
916 orang telah melayarinya

How to Perform an Inner Join on Javascript Arrays?

Gabungan Dalaman Tatasusunan Javascript untuk Manipulasi Data

Pernyataan Masalah:

Menggabungkan dua tatasusunan Javascript ke dalam tatasusunan hasil tunggal berdasarkan kunci biasa, serupa dengan operasi JOIN dalam SQL.

Diberikan Tatasusunan:

  • 'Profil pengguna': Mengandungi objek dengan sifat 'id' dan 'nama'.
  • 'soalan': Mengandungi objek dengan 'id', 'teks' dan ' properties createdBy'.

Penyelesaian:

Inner Join Pelaksanaan:

const innerJoin = (xs, ys, sel) =>
    xs.reduce((zs, x) =>
        ys.reduce((zs, y) =>        // cartesian product - all combinations
            zs.concat(sel(x, y) || []), // filter out the rows and columns you want
        zs), []);
Salin selepas log masuk

Contoh Set Data:

const userProfiles = [
    {id: 1, name: "Ashok"},
    {id: 2, name: "Amit"},
    {id: 3, name: "Rajeev"},
];

const questions = [
    {id: 1, text: "text1", createdBy: 2},
    {id: 2, text: "text2", createdBy: 2},
    {id: 3, text: "text3", createdBy: 1},
    {id: 4, text: "text4", createdBy: 2},
    {id: 5, text: "text5", createdBy: 3},
    {id: 6, text: "text6", createdBy: 3},
];
Salin selepas log masuk

Sertai Operasi:

const result = innerJoin(userProfiles, questions,
    ({id: uid, name}, {id, text, createdBy}) =>
        createdBy === uid && {id, text, name});
Salin selepas log masuk

Output Konsol:

Open your browser console to see the output.

[
  { id: 1, text: 'text3', name: 'Ashok' },
  { id: 2, text: 'text1', name: 'Amit' },
  { id: 2, text: 'text2', name: 'Amit' },
  { id: 4, text: 'text4', name: 'Amit' },
  { id: 5, text: 'text5', name: 'Rajeev' },
  { id: 6, text: 'text6', name: 'Rajeev' }
]
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Inner Join pada Tatasusunan Javascript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan