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); //排序後:法国话,京片子,英语,中国,中文
Покупка диплома о среднем полном образовании: как избежать мошенничества?
Промокод позволяет улучшить предлагаемые условия и получить ещё большую выгоду. Вводить мелбет промокод при регистрации на сегодня аккаунта или непосредственно перед внесением депозита. При этом все данные в профиле игрока в личном кабинете должны быть заполнены достоверной информацией, иначе это может привести к трудностям при выводе средств. Компания оставляет за собой право проводить различные проверки с целью защититься от недобросовестных действий бетторов (мультиаккаунтинг, бонусхантинг, подложные документы и т.п.). Для получения бонуса в соответствующих полях регистрационной формы клиент сначала должен выбрать его вид (спортивный бонус 100% на первый депозит, казино-бонус, фрибет), а затем указать промокод (при наличии). Также следует подтвердить совершеннолетие и согласие с правилами БК. Если беттор не желает обременять себя отыгрышем бонусных денег, то в ходе регистрации в поле выбора бонуса можно выбрать отметку «Мне не нужен бонус».
This is a great web page, would you be involved in doing an interview regarding just how you created it? If so e-mail me!
Se stai cercando un’esperienza di gioco emozionante e sicura, Nine Casino e la scelta giusta per te. Con un’interfaccia user-friendly e un login semplice, ninecasino offre un’ampia gamma di giochi che soddisferanno tutti i gusti. Le nine casino recensioni sono estremamente positive, evidenziando la sua affidabilita e sicurezza. Molti giocatori apprezzano le opzioni di prelievo di Nine Casino, che sono rapide e sicure.
Uno dei punti di forza di ninecasino e il suo generoso bonus di benvenuto, che permette ai nuovi giocatori di iniziare con un vantaggio. Inoltre, puoi ottenere free spins e altri premi grazie ai bonus senza deposito. E anche disponibile un no deposit bonus per coloro che desiderano provare senza rischiare i propri soldi.
Scarica l’app di Nine Casino oggi stesso e scopri l’emozione del gioco online direttamente dal tuo dispositivo mobile. Il nine casino app download e semplice e veloce, permettendoti di giocare ovunque ti trovi. Molti si chiedono, “Nine Casino e sicuro?” La risposta e si: Nine Casino e completamente legale in Italia e garantisce un ambiente di gioco sicuro e regolamentato. Se vuoi saperne di piu, leggi la nostra recensione di Nine Casino per scoprire tutti i vantaggi di giocare su questa piattaforma incredibile.
nine casino bonus benvenuto https://nine-casino-italia.com/ .
You are a very persuasive writer. I can see this in your article. You have a way of writing compelling information that sparks much interest.
certainly like your website but you have to check the spelling on quite a few of your posts. A number of them are rife with spelling problems and I find it very troublesome to tell the truth nevertheless I’ll certainly come back again.
I loved as much as you’ll receive carried out right here. The sketch is tasteful, your authored material stylish. nonetheless, you command get got an edginess over that you wish be delivering the following. unwell unquestionably come more formerly again as exactly the same nearly a lot often inside case you shield this hike.
Добрый день!
Заказать документ ВУЗа
notonlyfacts.ru/17-strannyh-foto-s-prostorov-rossii-proishodjashhee-na-kotoryh-ne-vsegda-poddaetsja-logike/
There are definitely trigger points involved.
Using the internet, you can find a sildenafil pulmonary hypertension are confirmed quickly. Your drugs are shipped the same day
Children are particularly susceptible to mold allergies.
Как правильно купить диплом колледжа и пту в России, подводные камни
Привет, друзья!
Купить диплом университета
купить диплом о высшем образовании
https://casino3vavada.ru/
Aw, this was an incredibly good post. Finding the time and actual effort to make a top notch article… but what can I say… I hesitate a lot and never manage to get anything done.
Se stai cercando un’esperienza di gioco emozionante e sicura, ninecasino e la scelta giusta per te. Con un’interfaccia user-friendly e un login semplice, ninecasino offre un’ampia gamma di giochi che soddisferanno tutti i gusti. Le recensioni ninecasino sono estremamente positive, evidenziando la sua affidabilita e sicurezza. Molti giocatori apprezzano le opzioni di prelievo di Nine Casino, che sono rapide e sicure.
Uno dei punti di forza di Nine Casino e il suo generoso bonus di benvenuto, che permette ai nuovi giocatori di iniziare con un vantaggio. Inoltre, puoi ottenere giri gratuiti e altri premi grazie ai bonus senza deposito. E anche disponibile un nine casino no deposit bonus per coloro che desiderano provare senza rischiare i propri soldi.
Scarica l’app di Nine Casino oggi stesso e scopri l’emozione del gioco online direttamente dal tuo dispositivo mobile. Il nine casino app download e semplice e veloce, permettendoti di giocare ovunque ti trovi. Molti si chiedono, “Nine Casino e sicuro?” La risposta e si: Nine Casino e completamente legale in Italia e garantisce un ambiente di gioco sicuro e regolamentato. Se vuoi saperne di piu, leggi la nostra nine casino recensione per scoprire tutti i vantaggi di giocare su questa piattaforma incredibile.
nine casino e legale in italia https://casinonine-it.com/ .
Вопросы и ответы: можно ли быстро купить диплом старого образца?
k96586v0.beget.tech/component/comprofiler/pluginclass/cbblogs?action=blogs&func=show&id=235
I discovered your blog site site on the internet and check several of your early posts. Always maintain on the top notch operate. I just now additional up your Rss to my MSN News Reader. Seeking forward to reading more within you down the line!…
Good blog! I really love how it is simple on my eyes and the data are well written. I am wondering how I might be notified whenever a new post has been made. I’ve subscribed to your feed which must do the trick! Have a nice day!
I absolutely love your blog and find nearly all of your post’s to be just what I’m looking for. can you offer guest writers to write content to suit your needs? I wouldn’t mind composing a post or elaborating on a few of the subjects you write about here. Again, awesome site!
After study some of the blog articles on the website now, i truly as if your means of blogging. I bookmarked it to my bookmark site list and will also be checking back soon. Pls check out my web-site as well and make me aware how you feel.
In the great pattern of things you secure an A+ with regard to effort and hard work. Exactly where you confused me personally was in all the facts. You know, it is said, the devil is in the details… And that could not be much more true at this point. Having said that, allow me say to you what did deliver the results. Your writing can be rather persuasive and that is most likely why I am taking an effort to opine. I do not really make it a regular habit of doing that. Secondly, even though I can easily see the leaps in reasoning you come up with, I am not confident of just how you seem to unite your ideas which in turn make your final result. For the moment I will subscribe to your position but hope in the near future you actually connect the dots much better.
I enjoy, lead to I found just what I was having a look for. You’ve ended my four day long hunt! God Bless you man. Have a nice day. Bye
This is a good tip particularly to those fresh to the blogosphere. Brief but very accurate info… Thank you for sharing this one. A must read article!
Официальная покупка диплома вуза с сокращенной программой обучения в Москве
Write more, thats all I have to say. Literally, it seems as though you relied on the video to make your point. You definitely know what youre talking about, why throw away your intelligence on just posting videos to your weblog when you could be giving us something informative to read?
I think other web-site owners should take this website as a model – very clean and excellent style and design, as well as the content. You are an inspriation in this topic!
Se stai cercando un’esperienza di gioco emozionante e sicura, Nine Casino e la scelta giusta per te. Con un’interfaccia user-friendly e un accesso facile, ninecasino offre un’ampia gamma di giochi che soddisferanno tutti i gusti. Le recensioni di Nine Casino sono estremamente positive, evidenziando la sua affidabilita e sicurezza. Molti giocatori apprezzano le nine casino prelievo, che sono rapide e sicure.
Uno dei punti di forza di ninecasino e il suo generoso bonus di benvenuto, che permette ai nuovi giocatori di iniziare con un vantaggio. Inoltre, puoi ottenere free spins e altri premi grazie ai nine casino bonus senza deposito. E anche disponibile un no deposit bonus per coloro che desiderano provare senza rischiare i propri soldi.
Scarica l’app di Nine Casino oggi stesso e scopri l’emozione del gioco online direttamente dal tuo dispositivo mobile. Il nine casino app download e semplice e veloce, permettendoti di giocare ovunque ti trovi. Molti si chiedono, “nine casino e sicuro?” La risposta e si: Nine Casino e completamente legale in Italia e garantisce un ambiente di gioco sicuro e regolamentato. Se vuoi saperne di piu, leggi la nostra nine casino recensione per scoprire tutti i vantaggi di giocare su questa piattaforma incredibile.
nine casino app https://casinonine-bonus.com/ .
Excellent blog you have got here.. It’s difficult to find excellent writing like yours nowadays. I honestly appreciate people like you! Take care!!
Does your blog have a contact page? I’m having a tough time locating it but, I’d like to send you an e-mail. I’ve got some suggestions for your blog you might be interested in hearing. Either way, great website and I look forward to seeing it improve over time.
people a lot of time simply disk drive now there and additionally look ahead to sales person to express to a person the specialised data for one netbook,
I am incessantly thought about this, thanks for putting up.