twins = {
function characteristic(traits) {
return JSON.stringify(traits.slice().sort());
}
const m = new Map();
for (const [id, traits] of idToTraits) {
const chi = characteristic(traits);
if (!m.has(chi)) {
m.set(chi, {
traits,
ids: [],
});
}
m.get(chi).ids.push(id);
}
return [...m].filter(([k, v]) => v.ids.length > 1).map(([k, v]) => v).sort((a, b) => b.ids.length - a.ids.length);
}