Тхе метода сортирања користи се за распоређивање различитих елемената у низу у одређеном редоследу.
Синтакса
Општа синтакса методе сортирања је:
низ.врста();Ова метода подразумевано враћа сортирани низ у растућем редоследу.
Разговарали бисмо о неколико примера за разумевање методе сортирања у ЈаваСцрипт-у.
Примери
Претпостављамо низ низова у којем имамо нека различита имена Линук оперативних система.
нека арр = ["Убунту", "Федора", "ЦентОС", "Дебиан", "Кали Линук"]Сада, ако применимо метод сортирања на овај низ:
арр.врста();Дефинитивно ће сортирати низ по абецедном реду. Резултат можемо видети на снимку екрана испод.
Али, ако желимо да добијемо низ у обрнутом / опадајућем редоследу. На сортирани низ можемо применити уграђену Јавасцрипт-ову функцију обрнутог:
вар сортедАрраи = арр.врста();сортедАрраи.реверсе ();
Краћи начин да се направи обрнуто је:
арр.врста().реверсе ();У реду! Успело је за жицу. Покушајмо да ли то функционише и за бројеве.
Дакле, прво претпостављамо низ бројева.
Затим примените метод сортирања на низ бројева.
арр.врста();Изгледа да то није добро функционисало као за жицу. Јер метода сортирања прво претвара бројеве у низове, а затим сортира на бази Уницоде-а. Иако „8“ долази испред „14“ у нумеричком редоследу. Али, у редоследу УТФ-16 кодних јединица, „14“ долази пре „8“. Добра ствар у Јавасцрипту, имамо решење за ово.
ЦомпареФунцтион
Ту долази концепт функције упоређивања који је врло користан у сортирању бројева. Функцију упоређивања можемо користити са методом сортирања као функцију повратног позива која узима два елемента. Затим их сортира према нашем захтеву у функцији упоређивања и враћа их на методу сортирања, континуирано то радећи док не дође до краја низа.
Синтакса методе сортирања са функцијом цомпареФунцтион била би оваква:
низ.сортирање (цомпареФунцтион);Сада, ако погледамо техничке детаље ЦомпареФунцтион-а, тако то заправо и функционише. Ако не пружимо функцију цомпареФунцтион методу сортирања, сортират ће се према УТФ-16 наредбама јединице кода. Ако користимо цомпареФунцтион, сви елементи би били сортирани у складу са повратном вредношћу цомпареФунцтион. Дакле, ако желимо да напишемо функцију упоређивања бројева. То би било овако:
функција (а, б) повратак а - бЦомпареФунцтион узима две вредности истовремено и враћа три врсте вредности.
Тачно или „1“, ако прва вредност долази пре друге вредности или је прва вредност већа од друге вредности:
Нетачно или „-1“, ако прва вредност долази после друге вредности или је прва вредност већа од друге вредности.
И „0“, ако су две вредности једнаке.
Сада, ако покушамо да је применимо за сортирање низа бројева. Можемо га применити овако:
арр.сорт (фунцтион (а, б) ретурн а - б)Као што видите у излазу, низ који има бројеве сортиран је пристојно.
Краћи начин обављања истог задатка биће овако:
арр.сортирај ((а, б) => а - б)Али, ово делује само за упоређивање бројева.
Такође можемо користити методу сортирања за сортирање низа објеката у зависности од вредности објекта, који желимо сортирати низ објеката. Ако претпоставимо да бисмо желели да на основу броја корисника сортирамо низ објеката у којима сваки објекат укључује Линук оперативне системе и број њихових корисника, тада ћемо користити следеће:
арр = [име: "Убунту", корисника: 3000
име: "Федора", корисника: 1500
име: "ЦентОС", корисници: 2000
име: "Дебиан", корисника: 5000
име: "Кали Линук", корисници: 4000
]
Дакле, како би се сортирало на основу корисника. Функција сортирања била би следећа:
арр.сорт (() => ретурн а.корисници - б.корисници)Дакле, ово су различити начини коришћења методе сортирања за сортирање низова било ког типа.
Закључак
У овом чланку смо научили како можемо сортирати низ различитих типова помоћу Јавасцрипт-ове уграђене функције сортирања. Овај чланак на врло лак, дубок и ефикасан начин објашњава концепт функције сортирања од почетника до средњег нивоа. Дакле, наставите да учите, радите и стичете искуство у Јавасцрипту са линукхинт.цом да бисте га боље схватили. Хвала Вам много.