Saya mempunyai tatasusunan seperti ini:
let array1 = [ {"id":"A", "serial":"C"}, {"id":"A", "serial":"E"}, {"id":"A", "serial":"B"}, {"id":"A", "serial":"B"}, {"id":"B", "serial":"A"}, {"id":"B", "serial":"C"}, {"id":"C", "serial":"B"}, {"id":"C", "serial":"F"} ]
Saya mahu berkumpul semula mengikut pasangan id-siri yang sama. {"id":"X", "serial":"Y"} dan {"id":"Y", "serial":"X"} hendaklah dianggap sebagai pasangan yang sama.
Hasil yang diharapkan adalah seperti berikut:
let res = [ [{"id":"A", "serial":"C"}], [{"id":"A", "serial":"E"}], [{"id":"A", "serial":"B"},{"id":"A", "serial":"B"},{"id":"B", "serial":"A"}], [{"id":"B", "serial":"C"},{"id":"C", "serial":"B"}], [{"id":"C", "serial":"F"}] ]
Bagaimana saya melaksanakan ini?
Tidak dapat memikirkan cara yang lebih baik untuk melakukan ini. Satu cara ialah mengumpulkan mengikut kunci unik. Di sini, satu-satunya kunci ialah
A|B
,对于两个组合{"id":"A", "serial":"B"}
和{"id":"A", "serial":"B"}