利用JavaScript對中文(漢字)進(jìn)行排序?qū)嵗斀?創(chuàng)新互聯(lián)

前言

創(chuàng)新互聯(lián)不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對營銷、技術(shù)、服務(wù)都有自己獨(dú)特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的成都做網(wǎng)站、成都網(wǎng)站制作質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認(rèn)可,能夠?yàn)樾袠I(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級,滿足企業(yè)一站式成都全網(wǎng)營銷推廣需求,讓再小的品牌網(wǎng)站建設(shè)也能產(chǎn)生價(jià)值!

在網(wǎng)頁上展示列表時經(jīng)常需要對列表進(jìn)行排序:按照修改/訪問時間排序、按照地區(qū)、按照名稱排序。

對于中文列表按照名稱排序就是按照拼音排序,不能簡單通過字符串比較—— ‘a(chǎn)' > ‘b'——這種方式來實(shí)現(xiàn)。

比如比較 ‘北京' vs ‘上海',實(shí)際是比較 ‘běijīng' vs ‘shànghǎi';比較 ‘北京' vs ‘背景',實(shí)際是比較 ‘běijīng' vs ‘bèijǐng'。

一般需要獲取到字符串的拼音,再比較各自的拼音。

實(shí)現(xiàn)方法

JavaScript 提供本地化文字排序,比如對中文按照拼音排序,不需要程序顯示比較字符串拼音。

String.prototype.localeCompare在不考慮多音字的前提下,基本可以完美實(shí)現(xiàn)按照拼音排序。

在沒有出現(xiàn)意外的情況下,各個支持 localeCompare 的瀏覽器都很正常。最近將 Chrome 更新到 58.0.3029.110,突然發(fā)現(xiàn)中文排序不正常。

// 正常應(yīng)該返回 1, 拼音 jia 在前, kai 在后
'開'.localeCompare('駕');
// 得到
-1;
 
// Chrome 58.0.3029.110 下返回 -1, 其他瀏覽器正常
 
// 確認(rèn)之后是 localeCompare 需要明確指定 locales 參數(shù)
'開'.localeCompare('駕', 'zh');
// 得到
1

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站muchs.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標(biāo)題名稱:利用JavaScript對中文(漢字)進(jìn)行排序?qū)嵗斀?創(chuàng)新互聯(lián)
分享路徑:http://muchs.cn/article22/ihojc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站ChatGPT、域名注冊小程序開發(fā)、網(wǎng)站導(dǎo)航、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)