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...

9,044 Responses

  1. Samueltaift表示:

    номер телефона такси такси шахты цены

  2. RobertFreve表示:

    номер такси город стоимость такси

  3. Traviskitty表示:

    вызвать такси в новочеркасске такси новочеркасска цены

  4. DavidCaf表示:

    такси новочеркасск https://vyzvat-taxi-novocherkassk.ru

  5. Guide To Online Shopping Websites List: The Intermediate Guide The Steps To Online Shopping Websites List
    Online Shopping Websites List

  6. Lariornte表示:

    Добрыйдень!
    Приобрести диплом университета.
    telegra.ph/kupit-diplom-o-vysshem-obrazovanii-kemerovo-08-13-3

  7. Uazrern表示:

    Привет!
    Заказать диплом о высшем образовании.
    telegra.ph/kupit-diplom-sankt-peterburg-08-13-4

  8. Cazrxye表示:

    Здравствуйте!
    Мы готовы предложить документы техникумов
    telegra.ph/kupit-diplom-s-registraciej-v-baze-08-13-9

  9. Jarioryzw表示:

    Добрый день!
    Купить диплом ВУЗа
    telegra.ph/kupit-diplom-rossiya-08-13-6

  10. Lazrvez表示:

    Привет!
    Мы предлагаем дипломы психологов, юристов, экономистов и других профессий по приятным тарифам.
    telegra.ph/obrazec-rekomendatelnogo-pisma-dlya-postupleniya-v-vuz-na-russkom-yazyke-08-02

  11. JamesWem表示:

    грузовая платформа подъемник https://gruzovye-podemniki-zakazat.ru

  12. WilliamHab表示:

    A collection of 18-25-year olds from around the UK https://www.scouts.org.uk/volunteers/running-things-locally/recruiting-and-managing-volunteers/role-descriptions/uk-rep-pool/ who are trained to represent the UK Scouts at events in the UK and abroad.

  13. Yrefadp表示:

    Здравствуйте!
    Купить диплом о высшем образовании.
    maridadiupdates.blogspot.ru/2014/01/modelsdesigners-singersflaviana-eskado

  14. JamesNus表示:

    Federation of Scout Associations of Spain https://scout.es/scout-academy-2017 is a non-profit entity whose registered office is located in Lake

  15. That is a very good tip especially to those new to the blogosphere. Simple but very accurate info… Thanks for sharing this one. A must read article.

  16. 15 Shocking Facts About Squirting Dildo Uk You’ve Never Known squirting Dildos

  17. Trefetx表示:

    Добрый день!
    Как правильно купить диплом колледжа и пту в России, подводные камни
    nfljerseyswholesaleonline.us.com/new-today-info-aidan-hutchinson/#comment-281425
    Рады помочь!.

  18. TerryHax表示:

    Беспредел колокольцевской мафии

    Глава МВД и Ко – враги простого народа и участников СВО

    Органы внутренних дел и Прокуратура Санкт-Петербурга продолжают войну против кооператива «Бест Вей» – социально ориентированного проекта, работающего с 2014 года по всей России, обеспечившего квартирами тысячи социально незащищенных граждан России, в том числе сотни участников СВО и военных.

    Суд по уголовному так называемому делу «Лайф-из-Гуд» – «Гермес» – «Бест Вей» идет с февраля с.г. – в Приморском районном суде Санкт-Петербурга. Параллельно в том же Приморском суде идет начавшийся еще летом прошлого года инициированный Прокуратурой Санкт-Петербурга гражданский процесс о признании кооператива незаконным.

    Выдумки следствия и прокуратуры
    Прокуратура и следственные органы МВД, повинуясь воле неких пока неведомых заказчиков атаки на «Бест Вей», настаивают на том, что устав и деятельность кооператива не соответствуют законодательству – хотя все версии устава кооператива проходили проверку в соответствующих государственных органах, нарушений никаких там не находили и версии устава успешно проходили регистрацию.

    ГСУ ГУ МВД по Санкт-Петербургу и прокуратура утверждают, что кооператив должен был регистрироваться как жилищно-накопительный и «встать на учет» в ЦБ – хотя жесткой системы накопления на приобретение недвижимости, как в ЖНК, в кооперативе «Бест Вей» нет: копить можно как угодно и где угодно – необязательно на счете в кооперативе.

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

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

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

    Никаких проблем в его работе не видела и Прокуратура Санкт-Петербурга – до тех пор, пока в 2021 году на кооператив не поступил заказ неких очень влиятельных людей.

    Уголовные претензии – к другой организации
    По уголовному делу кооператив прежде всего выступает в качестве гражданского ответчика, каковым признан на основании незаконного постановления руководителя следственной группы ГУ МВД по Санкт-Петербургу Винокурова, инспирированного его заместительницей Сапетовой: якобы он должен отвечать за деятельность иностранной компании «Гермес», но при этом сумма ущерба в обвинительном заключении – 282 млн рублей, а арестовано более 4 млрд рублей. Следствие в обвинительном заключении объявляет его частью единой с «Гермесом» финансовой пирамиды – не приводя доказательств ни нераздельности этих структур, ни пирамидного характера деятельности кооператива.

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

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

    Больше того, даже незаконное возложение на «Бест Вей» обязанности заплатить 282 млн по обязательствам «Гермеса», как того требует обвинение, не подорвет его ликвидность.

    Всего несколько так называемых потерпевших предъявляют к кооперативу претензии – и все эти претензии незаконны:

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

    –либо требования о возврате паевых взносов пришлись на период, когда счета кооператива уже были арестованы и, соответственно, выплата не произошла из-за того, что ее не санкционировали правоохранительные органы, по ходатайству которых произошел арест;

    –либо «потерпевший» претендует на вступительный и членские взносы, которые по договору с кооперативом не подлежат возврату при выходе из кооператива, так как идут на развитие «Бест Вей».

    Воровство «по закону»
    Представители прокуратуры в рамках процесса о законности кооператива в Приморском суде заявляли на словах, что не подвергают сомнению ранее заключенные договоры и, следовательно, приобретение квартир (при этом документально это не закрепляли).

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

    Кооператив со своей стороны еще весной 2022 года постановил прекратить прием новых пайщиков на период, пока ведется следствие и дело, затрагивающее «Бест Вей», рассматривается в уголовном суде. В подкрепление этой позиции «Бест Вей» в этом году сам ходатайствовал перед судом об издании судебного приказа о запрете приема новых пайщиков и заключения новых договоров паенакопления на период рассмотрения уголовного дела.

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

    Но нет, прокуратура и ГУ МВД по Санкт-Петербургу под руководством Плугина, его ГСУ под руководством Негрозова не унимаются – они требуют признать кооператив незаконным «в вакууме», абстрактно. Для чего?

    А для того, чтобы появилось основание отнять активы кооператива, только денежная часть которых превышает 4 млрд рублей, и передать нужным людям через разного рода мафиозные структуры «по защите вкладчиков», а на самом деле по воровству денег в интересах неких заказчиков, аффилированных с правоохранительными органами.

    Пайщики против беспредела
    Тысячи пайщиков приобрели квартиры с помощью кооператива – они довольны «Бест Вей», полностью поддерживают кооператив и требуют, чтобы он продолжил работу. Ведь условия в кооперативе – гораздо выгоднее ипотеки, даже льготной и дальневосточной.

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

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

    Все пайщики возмущены тем, что в тюрьме более чем на два года оказались заперты технические сотрудники и простые пайщики кооператива, которых следствие попыталось объявить организаторами пирамиды.

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

  19. vavada_hpSl表示:

    Заработай миллионы в казино Vavada, играй с удовольствием.
    Выбери Vavada и окунись в мир азарта, играй по-крупному.
    Vavada – это возможность почувствовать волнение, соревнуйся с лучшими.
    Vavada дарит шанс получить максимум прибыли, начни игру.
    Увлекательные слоты и азартные игры в Vavada Casino, испытай свои силы и возможности.
    Vavada: казино с большими возможностями для выигрыша, получай призы.
    Разбогатей с первого дня в Vavada, получи выигрышный старт.
    Vavada Casino: выбор азартных профессионалов, стремись к победе.
    vavada казино официальный сайт https://vavadakiev.vavada-casino.com.ua/ .

  20. I was more than happy to find this site. I need to to thank you for your time just for this wonderful read!! I definitely appreciated every part of it and i also have you bookmarked to check out new stuff in your web site.

  21. After going over a handful of the blog posts on your website, I truly appreciate your technique of blogging. I bookmarked it to my bookmark site list and will be checking back soon. Take a look at my website too and tell me how you feel.

  22. 오피스타表示:

    Helpful Dating Advice For Shy Guys 오피스타

  23. Slot Symbols表示:

    Guide To Slot Symbols: The Intermediate Guide For Slot Symbols Slot Symbols

  24. You need to be a part of a contest for one of the best sites online. I’m going to recommend this site!

  25. Diplomi_wkEa表示:

    Привет, друзья!
    Заказать документ о получении высшего образования вы имеете возможность у нас.
    wowka.su/forums

  26. Lazrhgw表示:

    Здравствуйте!
    Мы готовы предложить дипломы любой профессии по выгодным тарифам.
    telegra.ph/distancionnoe-obuchenie-v-vuzah-evropy-08-02

  27. AxxzPaish表示:

    Reply Rosario says: November 5, 2013 at 12:56 am Hi, My consern is with whole milk, My baby boy was drinking regular enfamil infant formula and did fine, even when he started solids he did great, now just turned one I tried to do the switch to red cap whole milk and on the second day he started the day with yellow smelly loose stools and had many of them thru out the day i think it was 6-7 dirty diapers some right after another I knew it had to be diarrhea, I stoped giving him whole milk and went to buy him a pedialyte his diarrhea stoped but the next day inthe afternoon he pooped hard as if he was constipated, is that a good sign?
    Using the internet, you can find a alternative to prednisone pills at the lowest prices ever
    As plaque is deposited, it can harden and cause the artery to become narrowed and less flexible, a condition called atherosclerosis.

  28. PatrickKeymn表示:

    производство трубных решеток по чертежам https://trubnye-doski.ru

  29. vo_ntorg_xtPt表示:

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

發佈留言

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