JS 陣列排序範例

馬老師離開待了約十幾年的教學界,目前在外商科技公司擔任Senior Consultant的工作,原因當然很多,未來有空再慢慢發文章分享,剛好最近有點時間,怕以後忘記,把最近專案中用到的一些程式筆記下來,如果大家有需要,也可以參考使用,這一篇是關於Javascript陣列排序的部分。

通常若有較多的內容需要儲存,變數就沒有陣列來的好用,所以陣列是拿來儲存大量的資料時所使用的,且儲存在裡面的資料,還可以選擇經過排序之後再呈現至畫面上,例如:

var name = ["stanley", "jack", "anita" , "mary"];

name.sort() //依照字母排序
console.log(name); // 輸出 ["anita", "jack", "mary", "stanley"]

names.reverse() //反轉陣列內容
console.log(name); //輸出 ["stanley", "mary", "jack", "anita"]

但若我們同時有多個陣列,但希望以其中之一的內容排序時,也可以同步更新到另外一個陣列,該如何處理呢?可以參考以下的方式:

var name = ["stanley", "jack", "anita" , "mary"];
var gender = ["male" , "male" , "female" , "female"];
var score = [30, 10, 40 , 80];
var ID = ["S1" , "S2" , "S3" , "S4"];

console.log("name : " + name + "; score : " + score + "; gender : " + gender + "; ID : " + ID);
/*
排序前
name : stanley,jack,anita,mary;
score : 30,10,40,80;
gender : male,male,female,female;
ID : S1,S2,S3,S4;
*/

var list = [];
for (var i = 0; i < name.length; i++){
  list.push({
    'name': name[i],
    'score': score[i],
    'gender': gender[i],
    'ID': ID[i]
  });
}

list.sort(function(a, b) {
  return ((a.name < b.name) ? -1 : ((a.name == b.name) ? 0 : 1));
});

for (var i = 0; i < list.length; i++) {
  name[i] = list[i].name;
  score[i] = list[i].score;
  gender[i] = list[i].gender;
  ID[i] = list[i].ID;
}

console.log("name : " + name + "; score : " + score + "; gender : " + gender + "; ID : " + ID);
/*
排序後
name : anita,jack,mary,stanley;
score : 40,10,80,30;
gender : female,male,female,male;
ID : S3,S2,S4,S1;
*/

若是希望按照分數排序,則可以將sort function 修改為下:

//score 由小到大
list.sort(function(a, b) {
  return a.score - b.score
});

//score 由大到小
list.sort(function(a, b) {
  return b.score - a.score
});

補充:

上述的排序內容均以英文和數字為主,若是遇到中文可使用localeCompare進行,而排序的方式是漢語拼音順序,以下為範例:

var arr = ["二","五","四","一","三"];
//漢語拼音:一[yi], 二[er], 三[san], 四[si], 五[wu]
console.log("排序前:" + arr); // 排序前:二,五,四,一,三
arr.sort(function(a,b){
	return a.localeCompare(b, 'zh'); //排序後:二,三,四,五,一
});
console.log("排序後:" + arr); 

var arr = ["中文","英語","法國話", "京片子", "中國"];
//中文[zhong wen], 英語[ying yu], 法國話[fa guo hua], 京片子[jing pian zi], 中國[zhong guo]
console.log("排序前:" + arr); //排序前:中文,英語,法國話,京片子,中國
arr.sort(function(a,b){
	return a.localeCompare(b, 'zh');
});
console.log("排序後:" + arr); //排序後:法國話,京片子,英語,中國,中文


var arr = ["中文","英语","法国话", "京片子", "中国"];
console.log("排序前:" + arr); //排序前:中文,英语,法国话,京片子,中国
arr.sort(function(a,b){
	return a.localeCompare(b, 'zh');
});
console.log("排序後:" + arr); //排序後:法国话,京片子,英语,中国,中文

You may also like...

8,895 Responses

  1. The 10 Most Scariest Things About Bean To Cup Coffee Machine Sale Bean To Cup Coffee Machine Which

  2. You’ll Never Guess This Adults ADHD Test’s Secrets adults Adhd Test

  3. Diplomi_hckn表示:

    купить диплом моряка rudik-diploms365.ru .

  4. WalterTub表示:

    mostbet apk yukle https://nore.kg/

  5. 5 Killer Quora Answers On Bi Fold Door Repairs Near
    Me Bi Fold Door Repairs

  6. Broderick表示:

    20 Things You Need To Know About Best French Door Fridge Freezer french door fridge counter depth (Broderick)

  7. Rigoberto表示:

    How Much Do Car Key Programmer Near Me Experts Earn? auto key programmers – Rigoberto

  8. All Terrain Prams Explained In Fewer Than 140 Characters best stroller for rough terrain (driscoll-saleh.hubstack.net)

  9. ChrisKix表示:

    Двойная ложь водителя Комарова

    Свидетель обвинения по «делу «Лайф-из-Гуд» выдумал, что был начальником СБ компании

    Алексей Комаров, один из ключевых свидетелей обвинения по «делу «Лайф-из-Гуд» – «Гермес» – «Бест Вей», уже почти месяц не может приехать в суд из Твери. Зато заявляет «в кулуарах», что был ни много ни мало начальником службы безопасности компании «Лайф-из-Гуд» и ему была якобы доверена инкассация денежных средств, о чем свидетельствуют его показания, данные на следствии – которые он почему-то боится подтвердить в суде на перекрестном допросе.

    Приморский районный суд Санкт-Петербурга, с февраля рассматривающий дело по существу, уже заждался Комарова, как, впрочем, и Евгения Набойченко, другого ключевого свидетеля обвинения.

    Комаров сначала передавал через прокуроров, что у него сломалась машина – кстати, служебная машина «Лайф-из-Гуд», которую он украл у компании и ею пользуется. Потом просто замолчал – но в суде пока так и не появился.

    Следующее заседание суда состоится в начале ноября – ожидать ли его там? Хочется надеяться, что прокуратура выполнит свои функции и приведет своего свидетеля для дачи показаний, а суд добьется привода.

    Лжец

    На следствии Комаров заявил, что возил, как он сам выразился, черный нал. В действительности он возил подарки для основателя «Лайф-из-Гуд» и кооператива «Бест Вей» Романа Василенко и кооператива «Бест Вей», возил сотрудников компании «Лайф-из-Гуд» и кооператива «Бест Вей», региональных представителей этих организаций из аэропорта и обратно.

    Никакого черного нала в деятельности «Лайф-из-Гуд» никогда не было – и бухгалтерия, и лично Роман Василенко следили, чтобы никакой неучтенной, незадекларированной наличности, сумм, с которых не уплачены налоги, в деятельности компании не имелось, потому что финансовый ретейл всегда находится под самым пристальным надзором контролирующих и правоохранительных органов. И их не было, о чем свидетельствуют абсолютно все другие допрошенные.

    Из показаний другого водителя и специалистов компании известно, что Комаров как простой шофер не знал и не мог ничего знать ничего о бизнес-процессах компании. Он никогда не был к ним допущен – тем более что в последние годы не был официально трудоустроен из-за своих постоянных проблем с судебными приставами: он был в долгах как в шелках. А самостоятельно понять никакие бизнес-процессы Комаров не мог – у него образование восемь классов.

    Лжец-2

    Выяснилось, что Комаров называл себя начальником службы безопасности «Лайф-из-Гуд» и этим объясняет некие «сокровенные знания» (на самом деле выдумки) о «черных» наличных операциях.

    Во-первых, достаточно посмотреть на него, чтобы понять, насколько он похож на офицера безопасности.

    Во-вторых, он не мог занимать никакой должности, так как не мог быть трудоустроен по трудовому договору – из-за того, что его постоянно преследовала служба судебных приставов и коллекторы: Комаров набрал займов на миллионы и не отдавал.

    В-третьих, он не имеет ни специального образования, ни опыта работы в сфере безопасности, ни офицерского звания. Он, как выяснилось, бывший водитель бандитской группировки. Его никогда не подпускали ни к каким вопросам, от которых могла зависеть безопасность компании.

    В-четвертых, начальником службы безопасности компании «Лайф-из-Гуд» был Александр Тюрин – офицер ФСО запаса, имеющий боевой опыт – участвовавший в первой и второй войнах в Чечне. Человек с кристально чистой репутацией.

    Вор

    Выяснилось, что Комаров далеко не все подарки – угощения, вазы и т.п. – довозил до адресата: они неоднократно пропадали. Кроме того, у его пассажиров не раз пропадали дорогие часы и бумажники.

    Накануне начала уголовного разбирательства он взял личные вещи Василенко на хранение и отказался их отдавать, за что против него выдвинуто обвинение в краже.
    Роман Василенко дал ему возможность бесплатно жить в трехкомнатной квартире одного из своих родственников и пользоваться корпоративным минивэном.
    Эту квартиру Комаров незаконно использует до сих пор – сдает ее в аренду. А корпоративный минивэн присвоил.

    Неблагодарный

    В компании Комаров проработал 10 лет – его с самого начала приняли как родного: приняли в семью, которую представлял собой коллектив «Лайф-из-Гуд». Василенко оплатил операцию на сердце его отцу.

    Алексей Комаров за это отплатил черной неблагодарностью, оговорив абсолютно всех.

    После начала уголовного разбирательства Комаров прислал Василенко издевательский ролик, снятый у недостроенного дома для мамы Романа Василенко, со словами: «Не все мечты сбываются!»

    Агент полиции

    Комаров, став агентом полиции, чтобы ограбить своего работодателя, тайно записывал информацию в машине и офисе – на видеокамеру и с помощью жучков, а потом передал ее следствию.

    Например, он скрытой камерой снял передачу денег Романом Василенко за участие одной из звезд в форуме «Синергия» – с этих денег были уплачены налоги. Он ставил жучки, чтобы записывать разговоры – и следователи могли монтировать высказывания, вырывая их из контекста.

    Оговорил невиновных

    По его ни в чем неповинных людей сидят в тюрьме. Например, на очной ставке с Анной Высоцкой он прямо в глаза ей, бывшему контент-менеджеру сайта «Лайф-из-Гуд», к тому же уволившейся более чем за полгода до начала уголовного дела, рассказывал, что все время привозил и передавал ей наличные деньги. На вопрос адвоката, почему ей, а не в бухгалтерию, не смог ответить – даже не думал выстроить логичную версию, тем более что следствие готово было покрывать его ложь. (Анну Высоцкую судья Богданова 24 октября выпустила под домашний арест.)

    Крыса

    Комаров – неблагодарная, неграмотная, лживая, алчная, трусливая, вороватая крыса. На основании лжи малограмотного шофера Лехи Комарова в тюрьме сидят пятеро ни в чем неповинных людей. Троих – Анну Высоцкую, Александру Григорьеву и Елену Соловьеву – судья Екатерина Богданова, поняв цену доказательствам прокуратуры, 24 октября выпустила под домашний арест.

    Комаров понимает, что ответит за свои преступления – потому и не появляется в суде. Но скрыться у него не получится: за преступления придется ответить в самое ближайшее время.

  10. Arturo表示:

    A Glimpse At Jaguar Key’s Secrets Of Jaguar Key jaguar
    f-pace activity key price [Arturo]

  11. Aaronrem表示:

    Если ищете широкий ассортимент стройматериалов, загляните сюда https://www.orgpage.ru/nizhniy-novgorod/k-tsentr-6183389.html

  12. Damon表示:

    20 Things You Should Know About Bmw Key bmw key fob
    (Damon)

  13. CharlesDup表示:

    Ленинградская область известна многослойной геологической структурой, что формирует работу пробивки скважин на воду особенным в каждом регионе. Область представляет собой разнообразие слоев и подземных пластов, которые нуждаются в профессиональный выбор при определении точки и уровня сверления. Источник воды может находиться как на низкой глубокости, так и быть на нескольких сотен, что влияет на трудность бурения.

    Ключевым моментом, формирующих тип скважины (https://positroika-doma.ru/raznoe/chto-delat-pri-samoizlive-skvazhiny ), служит грунтовые слои и глубина водоносного слоя. В Ленинградской области чаще всего создают артезианские скважины, которые гарантируют доступ к свежей и стабильной воде из скрытых структур. Такие скважины отличаются долгим сроком эксплуатации и отличным качеством жидкости, однако их пробивка нуждается в больших ресурсов и особого инструментария.

    Технология бурения в регионе требует использование новейших машин и инструментов, которые могут управляться с каменистыми породами и помогать избежать возможные обвалы опор скважины. Крайне важно, что необходимо учитывать экологические требования и правила, так как вблизи отдельных населённых мест есть охраняемые природные ресурсы и природоохранные территории, что предполагает особый внимание к буровым действиям.

    Вода из глубоких скважин в Ленинградской области характеризуется высоким качеством, так как она не подвержена от внешних факторов и наполнена сбалансированный состав составных элементов. Это делает такие водные источники востребованными для частных домов и организаций, которые выбирают долговечность и безопасную чистоту водного ресурса.

  14. Sazrbvp表示:

    Как получить диплом техникума с упрощенным обучением в Москве официально
    o91707v5.beget.tech/2024/10/20/karernyy-rost-s-diplomom.html

  15. 10 Life Lessons That We Can Learn From Realsex Doll sexy Real sexdolls

  16. CharlesDup表示:

    Ленинградская область выделяется многослойной геологической структурой, что формирует процесс пробивки скважин на воду специфическим в каждом участке. Область включает различие почв и скрытых структур, которые необходимы для экспертный подход при определении места и глубины сверления. Подземная вода может находиться как на небольшой высоте, так и доходить до нескольких сотен, что создает трудность бурения.

    Одним из основных факторов, формирующих тип воды (https://sovety4mom.ru/idei-i-sovety-po-dekoru-skvazhiny-svoimi-rukami/ ), выступает грунтовые слои и местоположение подземной воды. В Ленинградской области чаще всего создают глубокие скважины, которые поставляют доступ к свежей и непрерывной воде из скрытых слоев. Такие скважины ценятся за длительным сроком использования и заметным качеством водоносных ресурсов, однако их пробивка нуждается высоких средств и уникального аппаратуры.

    Процесс сверления в регионе включает использование высокотехнологичных установок и средств, которые могут справляться с плотными породами и избегать возможные разрушения грунта скважины. Крайне важно, что необходимо учитывать санитарные требования и правила, так как вблизи части населённых пунктов есть охраняемые водные объекты и природные комплексы, что предполагает особый внимание к буровым мероприятиям.

    Источник воды из артезианских скважин в Ленинградской области характеризуется отличной чистотой, так как она не подвержена от внешних воздействий и содержит правильный состав полезных веществ. Это делает такие водоносные горизонты востребованными для владельцев участков и компаний, которые ценят надежность и безопасную чистоту систем водоснабжения.

  17. Lavonne表示:

    Corner Fabric Sofas Tools To Ease Your Daily Life Corner Fabric Sofas Technique Every Person Needs To Know corner fabric sofas (Lavonne)

  18. Aaronrem表示:

    Изготовление и установка пластиковых окон от производителя, ознакомьтесь с условиями здесь https://www.joindota.com/users/2280140-wendy91

  19. капельница при алкогольной интоксикации на дому цена капельница при алкогольной интоксикации на дому цена .

  20. медикаментозный вывод из запоя королев медикаментозный вывод из запоя королев .

  21. принудительный вывод из запоя королев принудительный вывод из запоя королев .

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。