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); //排序後:法国话,京片子,英语,中国,中文
I’m impressed, I have to admit. Rarely do I come across a blog that’s both educative and interesting, and let me tell you, you have hit the nail on the head. The problem is something that not enough men and women are speaking intelligently about. Now i’m very happy I stumbled across this in my hunt for something relating to this.
A Look At The Secrets Of Rabbit Vibrators Sex Toys Using Rabbit vibrators
Federation of Scout Associations of Spain https://scout.es/scout-academy-2017/ is a non-profit entity whose registered office is located in Lake
Привет!
Купить диплом ВУЗа.
blog.shestov.info/2018/08/jira-jql
Заработай миллионы в казино Vavada, наслаждайся процессом.
Выбери Vavada и окунись в мир азарта, ставь высоко и выигрывай крупные суммы.
Ощути азарт и адреналин с Vavada Casino, делай выигрышные ставки.
Начни выигрывать уже сегодня в Vavada Casino, вступай в битву за джекпот.
Vavada Casino – это тысячи возможностей к победе, испытай свои силы и возможности.
Попробуй удачу в Vavada и стань богаче, стань победителем.
Играй в Vavada и получи бонус за первый депозит, получи выигрышный старт.
Vavada Casino: выбор азартных профессионалов, играй и зарабатывай.
https vavada com https://vavadakiev.vavada-casino.com.ua/ .
7 Things You’d Never Know About Window Doctors ranch Window Repair
Right here is the perfect site for everyone who really wants to find out about this topic. You realize a whole lot its almost hard to argue with you (not that I personally will need to…HaHa). You definitely put a brand new spin on a topic that has been discussed for many years. Great stuff, just great.
purchase cyclosporine – buy imusporin online colcrys 0.5mg usa
Военный арсенал мечты на вашем пороге, только у нас.
Секрет успеха каждого воинского подразделения: качественное снаряжение, получайте.
Только лучшие модели военной техники, исключительно у проверенных поставщиков.
Снаряжение для любых военных мероприятий: выбирайте лучшее, приобретайте.
Лучший выбор для военных операций: только качественное снаряжение, только у нас.
Огнестрельное оружие для спецназа и армии, исключительно у проверенных поставщиков.
Идеальное снаряжение для профессиональных военных операций, приобретайте.
Лучшие модели военной техники для самых требовательных, используйте.
Как выбрать идеальное снаряжение для задач, получайте.
воєнторг воєнторг .
Greetings, I think your blog may be having browser compatibility issues. When I look at your blog in Safari, it looks fine however when opening in Internet Explorer, it’s got some overlapping issues. I merely wanted to provide you with a quick heads up! Besides that, fantastic site!
Здравствуйте!
Официальная покупка аттестата о среднем образовании в Москве и других городах
napolivlz.ru/novogodnie-prazdniki-s-napoli/#comment-274327
Рады помочь!.
Здравствуйте!
Мы изготавливаем дипломы любой профессии по доступным ценам.
telegra.ph/napravleniya-obucheniya-v-vuzah-08-02
You’ll Never Guess This Best Online Site’s Tricks best online site
Лучшие шкафы купе на заказ в Москве, Шкафы купе на заказ по вашему эскизу в Москве
шкафы купе на заказ в москве https://shkafy-kupe-na-zakaz77.ru/ .
Здравствуйте!
Диплом специалиста
telegra.ph/kursy-dlya-postupleniya-v-hudozhestvennyj-vuz-08-02
Здравствуйте!
Приобрести диплом о высшем образовании
telegra.ph/v-kakih-voennyh-vuzah-est-zaochnoe-obuchenie-08-02
Добрый день!
Купить документ ВУЗа можно у нас.
cntuvek.ru/forum/user/14170
See What Miami Accident Lawyer Tricks The Celebs Are Making Use Of i accident Lawyer
10 Places Where You Can Find Wine Fridge Cooler best Rated wine Fridge
10 Places Where You Can Find Auto Accident Claim Compensation salt lake city auto Accident Attorney
10 Facts About Wheelchair Ramps For Doorways That Will Instantly Make
You Feel Good Mood walmart wheelchair ramps
10 Things We All Hate About Volvo Xc60 Keys volvo Key fobs
Здравствуйте!
Купить диплом магистра оказалось возможно, быстрое обучение и диплом на руки
lovereklama.blogspot.com/2015/02/picnic-90
Привет!
Купить диплом ВУЗа.
telegra.ph/dokumenty-dlya-postupleniya-v-vuz-ukrainy-08-02
Pretty! This has been a really wonderful article. Thank you for providing this info.
Добрый день!
Мы предлагаем документы ВУЗов
anaparegion.ru/news/237-dyussh_viktoriya_vstretila_uchastnikov_vsekubansko
Лучший выбор для аренды автобуса в Санкт-Петербурге, транспортное средство для трансфера.
Оптимальные цены на аренду автобуса в СПб, делайте выбор нашими услугами.
Лучшие автобусы для аренды в СПб, езжайте с комфортом.
Проведите незабываемое мероприятие с арендованным автобусом в СПб, с легкостью.
Доставка из аэропорта в центр СПБ на комфортабельном автобусе, пунктуально и качественно.
Корпоративный праздник на нашем автобусе в СПб, профессионально и креативно.
Экскурсия на комфортабельном автобусе в Санкт-Петербурге, увлекательно и запоминающе.
Организуйте школьную экскурсию с арендованным автобусом в СПб, безопасно и познавательно.
Аренда автобуса для свадьбы в СПб, красиво и романтично.
Советы по выбору автобуса для проката в Санкт-Петербурге, подсказки от наших экспертов.
Способы сэкономить на аренде автобуса в Санкт-Петербурге, без ущерба качеству.
Полный список услуг при аренде автобуса в СПб, узнайте перед заказом.
Преимущества аренды автобуса с шофером в Санкт-Петербурге, честный рейтинг.
Стоимость аренды автобуса в СПб – на что обратить внимание, важные аспекты.
Маленький автобус в аренду для поездки по Санкт-Петербургу, компактно и удобно.
Аренда транспорта для фестиваля в Санкт-Петербурге, безопасно и комфортно.
Вечеринка на автобусе в СПб
аренда автобуса спб https://arenda-avtobusa-v-spb.ru/ .
I really like it when folks get together and share thoughts. Great site, stick with it!
Привет!
Как оказалось, купить диплом кандидата наук не так уж и сложно
kino.online-windows.ru/move/2-post2
Здравствуйте!
Приобрести диплом любого ВУЗа.
postap.ru/forums