js漢字拼音排序效果源碼實例(js 漢字排序)

本文目錄一覽:

js實現漢字轉拼音功能

在做酒店項目時選擇城市頁面需要按照首字母分類並排序,用到了漢字轉拼音的功能,最終使用了下面這種方法,在此記錄一下。

js中如何實現輸入漢字的拼音聲母出現對應的漢字?

和google的輸入提示一個道理,幾乎所有Ajax入門書都講這個。

簡單的說,輸入框的onchange事件的響應函數裡面增加一個xmlhttp請求,

伺服器響應請求返回提示更新頁面。

但是細節上考慮要多複雜有多複雜,

首先就是拼音到漢字,你需要找輸入法的源代碼,

然後就是緩存,資料庫,安全性等等……

方案二:純js

用js寫一個輸入法……

大致思路是頁面用按音序排列的編碼,如GB2312,然後以音序映射到字元編碼上

javascript怎樣中文名字按拼音字母排序?

resultValue=[ ‘武漢’ , ‘北京’ , ‘上海’ , ‘天津’ ] ;

resultValue= resultValue.sort(

function compareFunction(param1,param2){

return param1.localeCompare(param2);

}

);

resultValue結果為:

[ ‘北京’ , ‘上海’ , ‘天津’ ,’武漢’ ] ;

javascript中文按照拼音首字母排序,如何實現?

中文拼音排序一直都是很有趣的一個問題。推薦使用這個函數 String.prototype.localeCompare(),鏈接 MDN。首先用 localeCompare 試下拼音排序

var array = [‘武漢’, ‘北京’, ‘上海’, ‘天津’];

array.sort(

function compareFunction(param1, param2) {

return param1.localeCompare(param2);

}

);

array // [“北京”, “上海”, “天津”, “武漢”]

然後根據 26 個英文字母分組排序,函數如下,

function pySegSort(arr) {

if(!String.prototype.localeCompare)

return null;

var letters = “*abcdefghjklmnopqrstwxyz”.split(”);

var zh = “阿八嚓噠妸發旮哈譏咔垃痳拏噢妑七呥扨它穵夕丫帀”.split(”);

var segs = [];

var curr;

letters.forEach(function(item,i){

curr = {letter: item, data:[]};

arr.forEach(function(item2){

if((!zh[i-1] || zh[i-1].localeCompare(item2) = 0) item2.localeCompare(zh[i]) == -1) {

curr.data.push(item2);

}

});

if(curr.data.length) {

segs.push(curr);

curr.data.sort(function(a,b){

return a.localeCompare(b);

});

}

});

return segs;

}

測試:

pySegSort([“我”,”不”,”懂”,”愛”,”啊”,”按”,”已”,”呀”,”選”,”縣”])

結果:

[{“letter”:”a”,”data”:[“啊”,”愛”,”按”]},{“letter”:”b”,”data”:[“不”]},{“letter”:”d”,”data”:[“懂”]},{“letter”:”w”,”data”:[“我”]},{“letter”:”x”,”data”:[“縣”,”選”]},{“letter”:”y”,”data”:[“呀”,”已”]}]

var arr = [“張三”,”李四”,”王五”,”阿三”]; 

document.write(arr+””);

arr.sort(function(a,b){

return a.localeCompare(b);

});

document.write(arr);

定義和用法:

用本地特定的順序來比較兩個字元串。

語法:

stringObject.localeCompare(target)

參數描述:

target    要以本地特定的順序與 stringObject 進行比較的字元串。  

返回值:

說明比較結果的數字。如果 stringObject 小於 target,則 localeCompare() 返回小於 0 的數。如果 stringObject 大於 target,則該方法返回大於 0 的數。如果兩個字元串相等,或根據本地排序規則沒有區別,該方法返回 0。

說明:

把 和 運算符應用到字元串時,它們只用字元的 Unicode 編碼比較字元串,而不考慮當地的排序規則。以這種方法生成的順序不一定是正確的。例如,在西班牙語中,其中字元 「ch」 通常作為出現在字母 「c」 和 「d」 之間的字元來排序。

localeCompare() 方法提供的比較字元串的方法,考慮了默認的本地排序規則。ECMAscript 標準並沒有規定如何進行本地特定的比較操作,它只規定該函數採用底層操作系統提供的排序規則。

參考資料

百度知道.百度知道[引用時間2018-1-5]

jquery或javascipte實現標籤內文字按拼音首字母排序

jq:

var wrap = $(‘div’);

var html = 

        wrap.find(‘a’)

        .map(function(){//獲取文字

          return $.trim($(this).text())

        })

        .toArray()//轉換jq為數組

        .sort(function(a , b){

          return a.localeCompare(b)//按照順序排序

        })

        .map(function(txt){//拼接html

          return ‘a’ + txt + ‘/a’;

        })

        .join(”);

wrap.html(html);//輸出

js:

function toArray(nodes){

  return [].slice.call(nodes , 0);

}

var wrap = document.querySelector(‘div’);

var links = wrap.querySelectorAll(‘a’);

var html = 

    toArray(links)

    .map(function(el , i){//讀取文字

       return (el.innerText || el.textContent).trim();

    })

    .sort(function(a , b){

       return a.localeCompare(b)//按照順序排序

    })

    .map(function(txt){//組合html

       return ‘a’ + txt + ‘/a’;

    })

    .join(”);

wrap.innerHtml = html;//輸出

JavaScript中 人名按照拼音排序,可以用localeCompare函數,但是要考慮多音字,怎麼處理多音字的問題?

首先獲取到人名之後將人名轉換為字元串,

獲取字元串的下標,比較完首字母之後對比第二個,

第三個

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/303034.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-31 11:49
下一篇 2024-12-31 11:49

相關推薦

  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • 雲智直聘 源碼分析

    本文將會對雲智直聘的源碼進行分析,包括前端頁面和後端代碼,幫助讀者了解其架構、技術實現以及對一些常見的問題進行解決。通過本文的閱讀,讀者將會了解到雲智直聘的特點、優勢以及不足之處,…

    編程 2025-04-29
  • 進擊的漢字拆字窗

    進擊的漢字拆字窗是一款非常有用的中文工具,它可以幫助人們更好的學習漢字,了解漢字的含義,以及更好的了解漢字在中文中的運用和意義。 一、功能介紹 進擊的漢字拆字窗主要有以下幾個功能:…

    編程 2025-04-29
  • 如何在Python中輸出漢字和數字

    本文將從多個方面詳細介紹如何在Python中輸出漢字和數字,並提供代碼示例。 一、輸出漢字 要在Python中輸出漢字,需要先確保Python默認編碼是utf-8,這可以通過在代碼…

    編程 2025-04-28
  • Python網站源碼解析

    本文將從多個方面對Python網站源碼進行詳細解析,包括搭建網站、數據處理、安全性等內容。 一、搭建網站 Python是一種高級編程語言,適用於多種領域。它也可以用於搭建網站。最常…

    編程 2025-04-28
  • 如何在dolphinscheduler中運行chunjun任務實例

    本文將從多個方面對dolphinscheduler運行chunjun任務實例進行詳細的闡述,包括準備工作、chunjun任務配置、運行結果等方面。 一、準備工作 在運行chunju…

    編程 2025-04-28
  • 源碼是什麼

    源碼是一段計算機程序的原始代碼,它是程序員所編寫的可讀性高、理解性強的文本。在計算機中,源碼是指編寫的程序代碼,這些代碼按照一定規則排列,被計算機識別並執行。 一、源碼的組成 源碼…

    編程 2025-04-27
  • Go源碼閱讀

    Go語言是Google推出的一門靜態類型、編譯型、並髮型、語法簡單的編程語言。它因具有簡潔高效,內置GC等優秀特性,被越來越多的開發者所鍾愛。在這篇文章中,我們將介紹如何從多個方面…

    編程 2025-04-27
  • Python中Turtle怎麼寫漢字

    Python中Turtle庫是一個在Python中用於繪製矢量圖形的庫。大多數場景下我們使用Turtle庫繪製的圖形是幾何圖形,但是在一些特殊的場景下,我們也可以使用Turtle庫…

    編程 2025-04-27
  • Python存為JSON的方法及實例

    本文將從以下多個方面對Python存為JSON做詳細的闡述。 一、JSON簡介 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於人閱…

    編程 2025-04-27

發表回復

登錄後才能評論