<prompt> Unda utekelezaji wa JavaScript wa algoriti ya kupanga inayopanga safu ya nambari kwa mpangilio wa kupanda.  <response>: javascriptkazi mergeSortarr ikiwa arr.length 1 kurudi nyuma; const katikati Math.floorarr.length 2; const left arr.slice0, katikati; const right arr.slicekatikati; return mergemergeSortkushoto, mergeSortkulia;unganisha kazi kushoto, kulia acha matokeo ; acha indexLeft 0; basi indexRight 0; wakati indexLeft left.length indexRight right.length ikiwa kushotoindexLeft kuliaindexRight tokeo.sukumakushotoindexLeft; indexLeft; nyengine tokeo.sukumakuliaindexRight; indexKulia; rejesha tokeo.concatleft.sliceindexLeft.concatright.sliceindexRight; Mfano wa matumizi:const arr 4, 7, 2, 9, 1, 5, 3;console.logSafu ya asili:, arr;console.logSafu Iliyopangwa:, mergeSortarr;Utekelezaji huu wa JavaScript wa algoriti ya kupanga ya kuunganisha huchukua safu ya ingizo ya nambari na kuipanga kwa mpangilio wa kupanda. Chaguo za kukokotoa za mergeSort ni chaguo la kukokotoa la kujirudi ambalo hugawanya safu ya ingizo katika nusu mbili hadi kila nusu iwe na kipengele kimoja pekee au iwe tupu. Kisha, huita chaguo za kukokotoa unganisha ili kuunganisha nusu hizi pamoja kwa mpangilio uliopangwa.Chaguo za kukokotoa za unganisha huchukua safu mbili zilizopangwa kama ingizo katika kesi hii, nusu ya kushoto na kulia ya safu asili na kurejesha safu mpya iliyo na vipengee vyote kutoka kwa safu zote mbili za ingizo, zilizopangwa kwa mpangilio wa kupanda. Inafanya hivyo kwa kurudia kupitia safu zote mbili za ingizo na kulinganisha vipengee vyake, kusukuma kipengele kidogo kwenye safu ya matokeo na kuongeza faharasa inayolingana. Mara baada ya safu yoyote ya ingizo kupitishwa kikamilifu, vipengee vyovyote vilivyosalia kutoka kwa safu nyingine vinaunganishwa kwenye safu ya matokeo.Katika matumizi ya mfano, safu ya nambari ambazo hazijapangwa hupangwa kwa kutumia chaguo za kukokotoa mergeSort na safu asili na zilizopangwa huchapishwa kwenye kiweko. 