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); //排序後:法国话,京片子,英语,中国,中文
mostbet kg отзывы mostbet795.ru/ .
mostbet kg отзывы http://www.tagilshops.forum24.ru/?1-4-0-00000205-000-0-0 .
1win на телефон 1win6012.ru .
1win. 1win. .
1вин официальный сайт вход 1вин официальный сайт вход .
india pharmacy without prescription online medicine shopping in india buying prescription drugs from india
DEQ Finance is revolutionizing decentralized trading by offering a seamless, secure, and efficient crypto exchange experience. Built with cutting-edge blockchain technology, DEQ Finance provides traders with fast transaction speeds, deep liquidity, and a transparent trading environment. Whether you’re a beginner or a professional trader, DEQ Finance delivers high-performance DeFi solutions tailored to modern trading needs. https://deq.li
India Med Fast: lowest prescription prices online india – order medicines online india
Exponent Finance is redefining DeFi lending by providing secure, transparent, and high-yield investment solutions. Through smart contract-powered lending pools, Exponent Finance DeFi platform allows users to borrow and lend crypto assets with optimal efficiency and minimal risk. Whether you’re looking to earn passive income through staking or access instant liquidity, Exponent Finance offers a decentralized, non-custodial, and user-friendly solution to meet all your financial goals in the crypto ecosystem. https://exponent.ink
hpxdiu
http://mexicanpharminter.com/# buying from online mexican pharmacy
canadian pharmacy prices
Flaunch is the leading blockchain gaming launchpad, designed to help game developers and investors thrive in the Web3 gaming ecosystem. By offering secure token launches, NFT integrations, and decentralized crowdfunding, Flaunch enables game creators to fund, develop, and scale their projects with full transparency and community-driven support. Whether you’re a developer or an investor, Flaunch provides the tools to connect and grow in the blockchain gaming space. https://flaunch.tech
магазин продажи аккаунтов покупка аккаунтов
https://mexicanpharminter.com/# Mexican Pharm Inter
canada rx pharmacy
Купить диплом университета по доступной цене можно, обратившись к проверенной специализированной компании. Мы предлагаем документы об окончании любых университетов Российской Федерации. Приобрести диплом университета– diploma-groups24.ru/kupit-diplom-v-gorode/ivanovo.html
сервис продажи аккаунтов https://social-accounts-marketplace.ru
Elara Finance is transforming decentralized lending by offering secure, transparent, and flexible crypto loan solutions. Built on blockchain technology, Elara Finance enables users to borrow and lend digital assets seamlessly without intermediaries. With low-interest rates, automated smart contracts, and a permissionless DeFi environment, Elara Finance is making crypto lending accessible and profitable for investors worldwide. https://elara.ink
Cytonic is revolutionizing blockchain security with advanced cybersecurity solutions tailored for Web3 applications. By integrating decentralized encryption, AI-powered threat detection, and smart contract auditing, Cytonic ensures maximum protection against cyber threats. Whether you’re securing DeFi protocols, NFTs, or enterprise blockchain systems, Cytonic’s cutting-edge security technology provides the highest level of data integrity and protection. https://cytonic.cc
pdacenter.ru – сервис по ремонту бытовой техники
Ремонт моноблоков в Екатеринбурге в официальном сервисном центре PDACENTER.
Наши инженеры выполняют ремонт любой сложности по дотупным ценам!
Заказать диплом о высшем образовании !
Покупка диплома любого ВУЗа РФ в нашей компании является надежным процессом, ведь документ будет заноситься в реестр. Печать осуществляется на специальных бланках, установленных государством. Приобрести диплом об образовании arenadiplom24.online/vuzy/uralskij-institut-turizma
https://mexicanpharminter.com/# mexican pharmacy online order
этот сайт https://www.google.com.jm/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0ahUKEwjumNbh89nKAhXHvoMKHbv4CYYQFghaMAk&url=https://vasil.cyou/
здесь https://maps.google.rs/url?q=https://travelanswer.ru/questions/kakuyu-valyutu-lucse-vzyaty-s-soboy-na-kubu-dollari-evro-ili-cto-to-eshte.html
Приветствую!
Мы готовы предложить дипломы психологов, юристов, экономистов и прочих профессий по доступным ценам. Стоимость зависит от выбранной специальности, года выпуска и образовательного учреждения: diplomanc.com/
Приветствую!
Для некоторых людей, заказать диплом о высшем образовании – это необходимость, шанс получить отличную работу. Но для кого-то – это желание не терять огромное количество времени на учебу в ВУЗе. С какой бы целью вам это не понадобилось, наша компания готова помочь. Оперативно, профессионально и по разумной цене сделаем диплом нового или старого образца на настоящих бланках с реальными печатями.
Главная причина, почему многие люди прибегают к покупке документов, – желание занять хорошую работу. Предположим, знания позволяют специалисту устроиться на работу, но документального подтверждения квалификации не имеется. Если для работодателя важно наличие “корочек”, риск потерять вакантное место очень высокий.
Заказать документ ВУЗа вы сможете у нас в Москве. Мы предлагаем документы об окончании любых университетов Российской Федерации. Вы сможете получить необходимый диплом по любым специальностям, любого года выпуска, включая документы образца СССР. Гарантируем, что при проверке документов работодателями, никаких подозрений не появится.
Ситуаций, которые вынуждают заказать диплом много. Кому-то прямо сейчас потребовалась работа, таким образом нужно произвести впечатление на начальство во время собеседования. Некоторые планируют попасть в престижную компанию, чтобы повысить свой статус и в будущем начать свой бизнес. Чтобы не тратить массу времени, а сразу начать удачную карьеру, используя врожденные таланты и полученные знания, можно приобрести диплом прямо в интернете. Вы станете полезным для социума, обретете финансовую стабильность в кратчайшие сроки- купить диплом
читать https://www.google.com.pk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0cb0qfjaa&url=https://travelanswer.ru/questions/mozhno-li-pokinuty-malayziyu-ranyshe-sroka-ukazannogo-v-karte-pribitiya.html
пояснения http://images.google.sr/url?q=https://www.google.bj/url?q=https://iskprogress.ru/cases/obsledovanie-mostovyh-sooruzhenij-i-avtomobilnyh-dorog/puteprovod/
продать аккаунты соц сетей birzha-akkauntov.ru
купить аккаунты в соц сетях social-accounts-marketplace.ru
best canadian pharmacy: InterPharmOnline.com – pharmacy rx world canada