<prompt> Tengeneza chaguo la kukokotoa la JavaScript ambalo huchukua safu ya vipengee vilivyo na sifa za jina na alama, kupanga safu kwa alama kwa mpangilio wa kushuka, na kurudisha majina 3 ya juu zaidi yaliyo na alama nyingi kama safu. Hushughulikia kesi za ukingo kama vile safu tupu au sare katika alama.  <response>: Hapa kuna kazi ya JavaScript ambayo inakamilisha kazi hiyo: javascriptkazi topThreeScorersarr Panga safu kwa alama kwa mpangilio wa kushuka arr.sorta, b b.alama - a.alama; Anzisha safu tupu ili kuhifadhi majina 3 ya juu acha Majina ya juu ; Rudia safu iliyopangwa na uongeze majina 3 ya kwanza ya kipekee kwenye safu ya Majina ya juu kwa let i 0; i arr.length topNames.length 3; i ikiwa !topNames.includesarri.name topNames.pusharri.jina; kurudi Majina ya juu;Hapa kuna mifano ya jinsi utendaji huu unaweza kutumika: javascriptalama za const jina: Alice, alama: 90, jina: Bob, alama: 80, jina: Charlie, alama: 85, jina: Daudi, alama: 92, jina: Hawa, alama: 88,;console.logtopThreeScorersalama; Pato: David, Alice, Eveconst emptyArray ;console.logtopThreeScorersemptyArray; Pato: const ties jina: Mchezaji1, alama: 100, jina: Mchezaji2, alama: 100, jina: Mchezaji3, alama: 95, jina: Mchezaji4, alama: 95, jina: Mchezaji5, alama: 90,;console.logtopThreeScorersties; Pato: Mchezaji1, Mchezaji2, Mchezaji3Chaguo hili la kukokotoa hushughulikia visa vya ukingo kama vile safu tupu au miunganisho katika alama. Ikiwa kuna chini ya majina 3 ya kipekee katika safu ya ingizo, itarudisha safu iliyo na vipengee visivyozidi 3. 