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,104 Responses

  1. DavidGrorn表示:

    Complaints have flooded social media since the video’s release, with residents saying it fails to show the modern side of their country. Many claim the footage was edited to seemingly appear old-fashioned, with a faded sepia tone, and that the camera focuses on shabby architecture.
    жесткое порно
    Others have complained about the video’s airport scenes, during which one of the characters loses his luggage and seeks help from a local ground staff member called “Happy.”

    “When I watched it, I was thinking, this was Thailand 50 years ago. This looked like Thailand 70 years ago. There were no segments showing the modernity of my home,” David William, an American content creator based in Thailand, said in Thai in a TikTok video that has been viewed over 11 million times.

    In an interview with CNN, he said he’s never seen “a cab that looked that bad before” in his nearly 10 years in the country, adding Thailand’s main gateway, Suvarnabhumi Airport is just as modern as New York’s John F. Kennedy International Airport.

    “Thailand is a modern, safe and beautiful country,” he said. “I just hope don’t misunderstand.”

    Echoing his view, Facebook user Nipawan Labbunruang said the video makes Thailand look “terrible.”

    “What is this clip trying to present?” she wrote in a post that received 1,900 likes.

  2. Diplomi_rsEa表示:

    Добрый день!
    Купить документ института можно в нашей компании в Москве.
    ast-diplomas.com/kupit-diplom-o-vysshem-obrazovanii

  3. JesusHip表示:

    Complaints have flooded social media since the video’s release, with residents saying it fails to show the modern side of their country. Many claim the footage was edited to seemingly appear old-fashioned, with a faded sepia tone, and that the camera focuses on shabby architecture.
    жесткое гей порно
    Others have complained about the video’s airport scenes, during which one of the characters loses his luggage and seeks help from a local ground staff member called “Happy.”

    “When I watched it, I was thinking, this was Thailand 50 years ago. This looked like Thailand 70 years ago. There were no segments showing the modernity of my home,” David William, an American content creator based in Thailand, said in Thai in a TikTok video that has been viewed over 11 million times.

    In an interview with CNN, he said he’s never seen “a cab that looked that bad before” in his nearly 10 years in the country, adding Thailand’s main gateway, Suvarnabhumi Airport is just as modern as New York’s John F. Kennedy International Airport.

    “Thailand is a modern, safe and beautiful country,” he said. “I just hope don’t misunderstand.”

    Echoing his view, Facebook user Nipawan Labbunruang said the video makes Thailand look “terrible.”

    “What is this clip trying to present?” she wrote in a post that received 1,900 likes.

  4. Lazrxnm表示:

    Здравствуйте!
    Мы можем предложить дипломы любой профессии по приятным тарифам.
    indianapal.com/read-blog/820_zhelaete-kupit-attestat-u-proverennogo-ispolnitelya-zhdem-vas

  5. Trefhaf表示:

    Добрый день!
    Как безопасно купить диплом колледжа или ПТУ в России, что важно знать
    theplaygamepicks.com/диплом-техникума-где-и-как-купить
    Будем рады вам помочь!.

  6. web site表示:

    best youtube services watch hours instafollowers.

  7. DallasInorn表示:

    quickly and efficiently https://sabanraur.com done instantly with a guarantee

  8. Jamesviozy表示:

    Федеральный закон https://zakonobosago.ru “Об обязательном страховании гражданской ответственности владельцев транспортных средств” (ОСАГО)

  9. pane表示:

    The No. One Question That Everyone Working In Glass Replacement Windows Should Know How To
    Answer pane

  10. Manryce表示:

    Привет!
    Заказать документ о получении высшего образования
    asxdiplomik24.ru/kupit-diplom-voronezh

  11. Xazrhdv表示:

    Добрый день!
    Как официально купить диплом вуза с упрощенным обучением в Москве
    arusak-diploms-srednee.ru/kupit-diplom-v-krasnodare

  12. Buggy Single Tips That Will Change Your Life 9324874.xyz (http://Www.9324874.xyz)

  13. 10 Things You Learned In Kindergarden They’ll Help You Understand 50 50 Fridge Freezer Frost Free 50/50 Fridge Freezer

  14. It definitely felt like an ode to the Marine Corps.

  15. A lot of thanks for your whole hard work on this web page. My mother enjoys setting aside time for internet research and it is easy to understand why. All of us know all regarding the powerful tactic you provide simple suggestions through the blog and improve contribution from some other people about this idea and our own simple princess is certainly studying so much. Take pleasure in the remaining portion of the new year. Your performing a pretty cool job.

  16. hi there was just seeing if you minded a comment. i like your blog and the thme you picked is super. I will be back.

  17. Well I truly liked studying it. This information procured by you is very constructive for accurate planning.

  18. The the very next time I read a weblog, Hopefully that this doesnt disappoint me as much as this blog. I am talking about, It was my method to read, but I really thought youd have something fascinating to state. All I hear is a few whining about something you could fix if you werent too busy seeking attention.

  19. Lazrpij表示:

    Привет!
    Приобрести диплом любого ВУЗа.
    l90226mw.beget.tech/2024/07/04/obshirnyy-katalog-dokumentov-v-populyarnom-onlayn-magazine

  20. Really Curious site this is.. I really Enjoy a lot reading your Blog.. I will Bookmark your site for more reference.

  21. The Fela Accident Attorney Case Study You’ll Never Forget
    Fela Attorneys

  22. You’ll Never Be Able To Figure Out This Erb’s Palsy Settlement’s Benefits
    erb’s palsy (https://ugzhnkchr.ru/User/marchmole77/)

  23. Jeffreydog表示:

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

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

    «К кооперативу отношение очень хорошее»

    Александр Голдман на СВО с мая 2022 года как доброволец, три ранения. Пришел на СВО рядовым, сейчас — начальник штаба батальона. Был пайщиком кооператива, сейчас пайщик — его мама.
    «С помощью кооператива в 2019 году приобретена двухкомнатная квартира во Владивостоке, в которой проживает мама, — рассказывает он. — Расплачиваемся за нее, в ближайшие месяцы намерены погасить задолженность перед кооперативом и оформить квартиру в собственность. К кооперативу отношение очень хорошее, полностью его поддерживаю — он дает возможность без больших переплат приобрести недвижимость. К действиям в отношении кооператива отношусь отрицательно, так как „Бест Вей“ — единственная возможность приобрести жилье в рассрочку».

    «Происходящее вокруг кооператива вызывает шок»

    Гвардии рядовой Глушков Иван Васильевич — пайщик кооператива из Челябинской области. Танкист, мобилизованный, проходил службу в 15-й отдельной гвардейской мотострелковой Александрийской бригаде 2-й гвардейской общевойсковой армии ЦВО. Погиб 11 октября 2023 года.
    Рассказывает его вдова Татьяна Неручева:

    «Мы внесли первоначальный паевый взнос и во второй половине 2021 года встали в очередь на приобретение квартиры в Челябинске, когда начались события вокруг кооператива — была заблокирована его возможность приобретать недвижимость и заблокированы его счета. Наша очередь должна была подойти примерно через год. Мы заявили для приобретения небольшую квартиру, но планировали при покупке увеличить ее стоимость до 3 млн и купить двухкомнатную квартиру — с увеличением первоначального паевого взноса: уставом кооператива это позволяется, а затем переехать из Коркино в Челябинск. Сейчас 3 млн хватит только на небольшую квартиру-студию метров 25, то есть мы понесли материальный ущерб из-за блокирования деятельности кооператива, так как лишены были возможности приобрести квартиру, на которую собрали первоначальный паевый взнос. Работа кооператива заблокирована, счета арестованы уже более двух лет. В наследование пая я только вступаю, так как муж очень долго считался пропавшим без вести — долго шла экспертиза, и свидетельство о смерти мы получили только 18 июня этого года».

    Татьяна — юрист: «Как у юриста у меня происходящее вокруг кооператива вызывает шок, и любой непредвзятый юрист вам скажет то же самое». «Кооператив, — подчеркивает она, — абсолютно прозрачен, он полностью соответствует законодательству о кооперации — что и подтверждалось многократно государственными органами и судами. Если бы мы с мужем не были уверены, что все прозрачно и законно, мы бы не вкладывали в него деньги. Мы не подавали заявление о выходе из кооператива. Я, несмотря ни на что, жду счастливого завершения рукотворного кризиса вокруг кооператива. Для меня это еще и память о муже — он продал долю в квартире, которая ему принадлежала, чтобы вложиться в кооператив. Кроме того, мне хочется понять — до какого маразма может дойти ситуация у нас в государстве в плане незаконных действий в отношении организации, которая по тем или иным причинам не понравилась каким-то чиновникам?».

    «Рассчитываю, что ситуация закончится благополучно»

    Сергей Логинов, рядовой, мобилизованный, представлен к награде «Честь и доблесть».

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

    «В кооперативе минимум переплат — несопоставимо с ипотекой»

    Егор Ивков, офицер флота, дирижер военного оркестра, пайщик кооператива с 2019 года.
    «Я нахожусь в накопительной программе — планировал покупку квартиры в Санкт-Петербурге. До постановки в очередь на покупку дело не дошло, но сумма внесена серьезная — и на два года все зависло. Есть друзья-военнослужащие, которые также являются пайщиками и тоже накапливали деньги на первоначальный паевый взнос — они, как и я, не могут ни продолжать накапливать, ни получить деньги обратно, потому что счета арестованы. Отношение наше к ситуации, создавшейся вокруг кооператива, крайне негативное».

    «Кооператив поддерживаю, — говорит пайщик. — Моя сестра живет в квартире, приобретенной с помощью „Бест Вей“ — у нее многодетная семья, сейчас кооперативная квартира переходит в ее собственность. Минимум переплат — несопоставимо с ипотекой. Надеюсь, что ситуация с арестом счетов разрешится в ближайшее время».

  24. Lazriuo表示:

    Здравствуйте!
    Мы готовы предложить дипломы любой профессии по разумным ценам.
    gratefulproject.com/read-blog/4460_ishem-proverennyj-i-nadezhnyj-onlajn-magazin-s-diplomami-i-attestatami

  25. Responsible For A SEO Services London Budget?
    10 Ways To Waste Your Money seo marketing company london (gorod-Lugansk.com)

  26. 10 Reasons You’ll Need To Be Aware Of Seat Arona Key Seat leon replacement key Cost (cheaperseeker.com)

  27. Thanks for another great post. Where else could anybody get that kind of information in such a perfect way of writing? I have a presentation next week, and I am on the look for such information.

  28. Youre so cool! I dont suppose Ive learn anything like this before. So good to find any individual with some original thoughts on this subject. realy thanks for starting this up. this web site is one thing that’s needed on the web, someone with just a little originality. helpful job for bringing something new to the internet!

  29. depending on fossil fuel is always a bad idea, we should always concentrate on renewable energy.

  30. There are undoubtedly a lot of specifics like that to think about. That is a good point to raise up. I supply the thoughts previously mentioned as normal inspiration however clearly you can find questions like the one anyone bring up the spot that the most important thing will be working in honest good faith. My spouse and i don?testosterone levels know if guidelines have emerged around such thinggs as that, nonetheless I am sure that a job will be clearly known as a fair game. Both kids feel the affect of just a moment’s delight, for the rest of their particular lives.

發佈留言

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