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
977 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!

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