何让JS数组元素根据汉语拼音顺序进行排序?

默认情况下的sort方法虽然是按字母顺序进行排列的,但那只是针对英文的,遇到中文汉字没有用啊!如何让JS数组也能根据汉语拼音顺序进行数组排序?

喜欢这个问题 | 分享 | 新建回答

回答

冯纪忠雄

Dec 10, 2018
0 赞

自定义sort()方法的比较函数,如下所示,看例子:

var array_wife = [ "西施", "貂蝉", "昭君", "玉环", "虞姬", "大乔", "小乔" ];

// 按汉语拼音顺序进行排序
array_wife.sort(function (s1, s2) {
    return s1.localeCompare(s2, 'zh');  
});

// 现在array_wife数组中元素顺序则是:大乔,貂蝉,西施,小乔,虞姬,玉环,昭君

运行一下