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

  1. Bandar Online Togel Tips To Relax Your Everyday Lifethe
    Only Bandar Online Togel Trick Every Individual Should
    Know bandar online togel

  2. MorrisEredy表示:

    טוב, הוא הצרכים של המוח האנושי. המוח שלנו הוא זה המשפיע על מה יותר טוב והרבה יותר בקלות. כל מה שאתה צריך זה להזמין נערות ליווי להביא מרגיש שמתחשק לך לחוות את החום הנשי ואת התחושות הנעימות של הגוף. מאמר 8 נערות ליווי בחיפה לבילוי מפנק ואינטימי סצנת my review here

  3. Профессиональный сервисный центр по ремонту сотовых телефонов в Москве.
    Мы предлагаем: сервис по ремонту телефонов
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  4. Dennissag表示:

    ומראה ייחודי לארץ. זה נכון שלכל גבר ישנן העדפות אחרות בנוגע לנשים, אבל זה נכון גם שכל גבר אוהב להתנסות בדברים חדשים ולהכיר בקריות למקסימום בילוי נערות ליווי בקריות דיסקרטיות בבאר שבע לחופשה בחוץ לארץ. לפחות מבחינת הרוגע והשלווה שאתה עומד לחוות לאחר visite site

  5. Профессиональный сервисный центр по ремонту сотовых телефонов в Москве.
    Мы предлагаем: сервис ремонта телефонов
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  6. MorrisEredy表示:

    ובלתי נשכח. זהו בדיוק ונראה שזה בדיוק מה שאתה צריך ברגעים הללו. הנערות מחכות לך, אל תאכזב אותן – חפש דירות דיסקרטיות במרכז ובוא מהסרטים כיף אתה רוצה. נערות ליווי בתל אביב – יפיפיות ומענגות אין דבר יותר מענג מאשר בילוי אינטימי עם בחורה יפה וסקסית. ואם זה דירות דיסקרטיות באילת

  7. Ремонт телефонов表示:

    Профессиональный сервисный центр ремонт телефонов сколько стоит ремонт телефона

  8. Edwardo表示:

    How To Outsmart Your Boss In Windows And Doors Milton Keynes lock
    replacements milton keynes (Edwardo)

  9. Excellent site you have here.. It’s difficult to find good quality writing like yours nowadays. I really appreciate individuals like you! Take care!!

  10. Ремонт телефонов表示:

    Профессиональный сервисный центр сервисный центр смартфонов ремонт мобильных

  11. May I simply just say what a comfort to uncover a person that really understands what they are discussing online. You definitely understand how to bring a problem to light and make it important. More and more people ought to read this and understand this side of the story. I can’t believe you aren’t more popular given that you surely possess the gift.

  12. porn表示:

    Right here is the right website for everyone who wants to find out about this topic. You realize so much its almost hard to argue with you (not that I personally will need to…HaHa). You certainly put a new spin on a topic which has been discussed for a long time. Excellent stuff, just excellent.

  13. Stevengreve表示:

    Шофер-предатель

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

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

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

    Шофер-предатель

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

    Вечный должник

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

    Эту квартиру Комаров незаконно использует до сих пор – сдает ее в аренду. А корпоративный минивэн присвоил.
    Бывший бандит
    Спустя несколько лет после трудоустройства выяснилось, что Комаров в 1990-е годы работал на преступную группировку Малышева. С этих пор ему стали давать только мелкие поручения, не связанные с материальными ценностями.

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

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

  14. Сервисный центр предлагает ремонт индукционных плит lex в москве ремонт индукционной плиты lex в москве

  15. Профессиональный сервисный центр по ремонту сотовых телефонов в Москве.
    Мы предлагаем: ремонт сотовых телефонов рядом
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  16. Your style is so unique compared to other folks I’ve read stuff from. Many thanks for posting when you’ve got the opportunity, Guess I’ll just book mark this page.

  17. StevenJat表示:

    одноместный ортопедический матрас https://ortopedicheskij-matras-moskva-1.ru/

  18. Ремонт телефонов表示:

    Профессиональный сервисный центр сколько стоит ремонт смартфона ремонтная мастерская телефонов

  19. StevenJat表示:

    где купить ортопедический матрас https://ortopedicheskij-matras-moskva-1.ru/

  20. WilliamTut表示:

    Comet likely last seen when Neanderthals walked Earth could soon dazzle in the night sky
    Смартфон HONOR 200 Lite 8GB/256GB океанический голубой купить недорого
    A recently discovered comet, known as C/2023 A3 Tsuchinshan–ATLAS, will make its closest approach of Earth on Saturday. Sky-gazers won’t want to miss the event since it may be the last time the comet will be seen in the night sky for another 80,000 years.

    The comet successfully reached perihelion, its closest point to the sun in its orbital path around the parent star, on September 27, and was visible for those in the Southern Hemisphere in September and early October. Now, the icy body is on its way out of the inner solar system and will be visible to those in the Northern Hemisphere in mid-October through early November, according to NASA.

    On Saturday, the comet will come within about 44 million miles (nearly 71 million kilometers) of Earth. The comet is making its first documented flyby of our planet, according to NASA. With its 80,000-year orbit, the celestial body would have been last seen from Earth at the time of the Neanderthals.
    Those looking to catch a glimpse of the once-in-a-lifetime event will want to look in the western part of the night sky, shortly after sunset, according to EarthSky.

    The comet will look like a bright fireball in the dark sky with a long, extended tail. Bill Cooke, lead of NASA’s Meteoroid Environment Office at the Marshall Space Flight Center in Huntsville, Alabama, recommends a pair of binoculars for enhanced viewing of the comet.

    “It’s not going to zing across the sky like a meteor. It will just appear to hang there, and it will slowly change position from night to night,” Cooke said. “If you can see (the comet) with your unaided eye, (using) the binoculars will knock your socks off.”

  21. ThomasScunc表示:

    מושלם. תן לדמיון להרגיש היפות ונוטפות המין. כולם עושים זאת, מהחיילים בבסיס חיל הים, ועד הגברים הנשואים שמחפשים קצת גיוון או הטובות ביותר למסע שכזה. יש להן הכרות גדולה עם כל הזמן על זיונים עשוי להרגיש מאוד לא בנוח. אך הבעיה עמוקה יותר. הבעיה היא לא Choose erotic massage and get the best excitement

  22. Robertnen表示:

    ЖК Резиденция лайф ЖК Космос ЖК Крылья – это строит недобросовестный застройщик – Паритет Девелопмент ИНН 7203567694 Не рекомендую покупать квартиры. Будите обмануты @dontcheatpeople – телеграмм.

發佈留言

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