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); //排序後:法国话,京片子,英语,中国,中文
Say hello to AquaSculpt—a game-changer in weight loss! These AquaSculpt capsules use natural AquaSculpt ingredients to shed pounds and boost confidence. No AquaSculpt side effects, just pure AquaSculpt results—see why in AquaSculpt reviews. Learn AquaSculpt how to use and join thousands who love it. AquaSculpt buy today at http://aquasculpt.one !
AquaSculpt weight loss is here to stay! With AquaSculpt capsules, you get fast AquaSculpt results thanks to natural AquaSculpt ingredients. No worries about AquaSculpt side effects—users confirm it in AquaSculpt reviews. Curious AquaSculpt how to use? It’s easy and effective. AquaSculpt where to buy? Visit http://aquasculpt.best and transform your body now!
drugstore online shopping
Struggling to lose weight? AquaSculpt is transforming weight loss with its natural, fast-acting capsules. Packed with proven AquaSculpt ingredients, these capsules burn fat, boost energy, and deliver real AquaSculpt results in weeks. Curious about AquaSculpt reviews? Users love its effectiveness and zero AquaSculpt side effects. Want to know AquaSculpt how to use? It’s simple—take daily and watch the pounds melt away. Ready to try? AquaSculpt buy now at http://aquasculpt.lifestyle and sculpt your dream body today!
Tadalafil Easy Buy cialis without a doctor prescription TadalafilEasyBuy.com
пин ап казино официальный сайт – пин ап
Say hello to AquaSculpt—a game-changer in weight loss! These AquaSculpt capsules use natural AquaSculpt ingredients to shed pounds and boost confidence. No AquaSculpt side effects, just pure AquaSculpt results—see why in AquaSculpt reviews. Learn AquaSculpt how to use and join thousands who love it. AquaSculpt buy today at http://aquasculpt.best
Pretty! This was an extremely wonderful post. Thank you for providing this information.
tadalafil vs sildenafil
пин ап казино официальный сайт – пин ап вход
pharmacy canada
pinup 2025: https://pinupkz.life/
sildenafil citrate
22423 55889Sweet website , super pattern , rattling clean and use friendly . 372328
I must thank you for the efforts you’ve put in penning this site. I’m hoping to view the same high-grade blog posts from you later on as well. In fact, your creative writing abilities has inspired me to get my own blog now 😉
overseas pharmacies online
Приобрести диплом университета!
Мы можем предложить документы университетов, расположенных в любом регионе РФ. Дипломы и аттестаты выпускаются на “правильной” бумаге высшего качества: kanctanta.ru/images/pgs/?gde_vugodno_kupit_diplom_tehnikuma_dlya_uspeha.html
Купить диплом любого ВУЗа!
Мы предлагаем документы учебных заведений, расположенных в любом регионе России.
diplomv-v-ruki.ru/attestat-kupit-za-11-klass-7
1вин про 1вин про .
order prescriptions
ван вин naigle.borda.ru/?1-17-0-00000329-000-0-0-1742816734 .
1win. http://realistzoosafety.forum24.ru/?1-11-0-00001540-000-0-0-1742816894 .
1 win.pro http://naigle.borda.ru/?1-17-0-00000329-000-0-0-1742816734/ .
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем:сервис центры бытовой техники москва
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
1win ракета https://realistzoosafety.forum24.ru/?1-11-0-00001540-000-0-0-1742816894/ .
Где приобрести диплом специалиста?
Мы готовы предложить дипломы любых профессий по приятным ценам. Мы готовы предложить документы ВУЗов, которые находятся в любом регионе России. Вы можете приобрести диплом за любой год, включая документы старого образца СССР. Дипломы и аттестаты выпускаются на бумаге высшего качества. Это позволяет делать настоящие дипломы, которые невозможно отличить от оригиналов. Они будут заверены всеми необходимыми печатями и подписями. Стараемся поддерживать для заказчиков адекватную политику цен. Важно, чтобы дипломы были доступны для большого количества наших граждан. institute-diplom.ru/kupit-diplom-v-krasnoyarske-8
пин ап казино – пин ап вход
1вин кг http://naigle.borda.ru/?1-17-0-00000329-000-0-0-1742816734 .
Great post!
canadian pharmacies without an rx