>웹 프론트엔드 >JS 튜토리얼 >한자를 병음으로 정렬하는 JS 방법

한자를 병음으로 정렬하는 JS 방법

小云云
小云云원래의
2018-01-26 16:30:064535검색

이 글은 JS가 한자를 병음별로 정렬하는 방법을 주로 소개하며, 중국어 문자열에 대한 JavaScript 변환, 순회, 정렬 및 기타 관련 작업 기술을 참조하면 도움이 될 수 있습니다.

Code 1, Pinyin으로 정렬됨:


var array = ['武汉', '北京', '上海', '天津'];
var resultArray = array.sort(
 function compareFunction(param1, param2) {
  return param1.localeCompare(param2,"zh");
 }
);
console.log(resultArray);

Firefox resultArray 결과는 다음과 같습니다.


[ '北京' , '上海' , '天津' ,'武汉' ] ;

Code 2, Pinyin으로 정렬되고 문자로 정렬:


function pySegSort(arr,empty) {
 if(!String.prototype.localeCompare)
  return null;
 var letters = "*abcdefghjklmnopqrstwxyz".split('');
 var zh = "阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀".split('');
 var segs = [];
 var curr;
 $.each(letters, function(i){
  curr = {letter: this, data:[]};
  $.each(arr, function() {
   if((!zh[i-1] || zh[i-1].localeCompare(this,"zh") <= 0) && this.localeCompare(zh[i],"zh") == -1) {
    curr.data.push(this);
   }
  });
  if(empty || curr.data.length) {
   segs.push(curr);
   curr.data.sort(function(a,b){
    return a.localeCompare(b,"zh");
   });
  }
 });
 return segs;
}
JSON.stringify(pySegSort(["我","不","懂","爱","啊","按","已","呀","选","县"]))

결과:


"[
  {"letter":"a","data":["啊","爱","按"]},
  {"letter":"b","data":["不"]},
  {"letter":"d","data":["懂"]},
  {"letter":"w","data":["我"]},
  {"letter":"x","data":["县","选"]},
  {"letter":"y","data":["呀","已"]}
]"

관련 추천:

중국어 병음 정렬 정보

mysql 중국어 병음 정렬 방법

병음 sorting_javascript 기술을 구현하는 JavaScript 방법

위 내용은 한자를 병음으로 정렬하는 JS 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.