✍️ گروهبندی شبیه شمارش است، ولی به جای یک عدد برای هر کلید، یک آرایه نگه میداریم. وقتی عضو تازهای برای یک تیم میاد، باید نامش به آرایه قبلی آن تیم اضافه بشه. ساختن آرایه تازه برای هر بار دیده شدن تیم، اطلاعات اعضای قبلی را از بین میبره.
مثلاً اگر دو کتاب با دسته «علمی» داشته باشیم، گروه علمی باید هر دو عنوان را نگه داره. فقط اولین بار که دسته دیده میشه، آرایه خالی میسازیم؛ سپس عنوان فعلی را push میکنیم. ترتیب داخل هر گروه هم همان ترتیب ظاهر شدن در ورودی است، مگر اینکه خودمان بعداً مرتبش کنیم.
در تمرین، خروجی برای هر تیم آرایه نامهاست. لازم نیست نامها را یکتا کنی؛ دو عضو همنام هنوز دو داده جدا هستند. خطای اصلی کد خراب اینه که groups[team] در هر دور از نو نوشته میشه. با یک بررسی وجود گروه، داده قبلی را حفظ کن. ورودی خالی هم باید شیء خالی بده و هیچ گروه ساختگی در گزارش ظاهر نشه.
فعالیت شما
groupByTeam(members) را اصلاح کن. هر عضو شیئی با team برابر 'red' یا 'blue' و name رشته است. خروجی شیئی از آرایه نامها با ترتیب ورودی و حفظ تکرار باشد؛ [{team:'red',name:'آوا'},{team:'red',name:'نیما'}] => {red:['آوا','نیما']}. خالی => {}.