码迷,mamicode.com
首页 > 编程语言 > 详细

按首字母排序汉字

时间:2015-08-27 14:53:21      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:

项目中需要一个选择城市名的功能,具体的数据可以到国家统计局的网站上查,直接搜索也有很多,比如http://blog.jjonline.cn/phptech/172.html。

数据是有了,可是汉字怎么按照字母排序呢?

一、前端 js 处理

var a = ["上海","大连","北京","拉萨","天津"];
 
//返回["北京", "大连", "拉萨", "上海", "天津"]
a.sort(function(a,b){return a.localeCompare(b)});  

localeCompare

定义和用法

用本地特定的顺序来比较两个字符串。

语法

stringObject.localeCompare(target)
参数描述
target 要以本地特定的顺序与 stringObject 进行比较的字符串。

返回值

说明比较结果的数字。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。

那么,具体到真实的 json 对象数组的处理就是:

var a = [
    {name: ‘a‘, phone: 1, value: "上海"},
    {name: ‘b‘, phone: 5, value: "大连"},
    {name: ‘d‘, phone: 3, value: "北京"},
    {name: ‘c‘, phone: 4, value: "拉萨"}
];
 
a.sort(function(a,b){
    return a.value.localeCompare(b.value)
}); 

技术分享

二、后台 php 处理

    foreach ($array as $key=>$value)  {  
        $new_array[$key] = iconv(‘UTF-8‘, ‘GBK‘, $value);  
    }  
    asort($new_array);  
    foreach ($new_array as $key=>$value)  {  
        $array[$key] = iconv(‘GBK‘, ‘UTF-8‘, $value);  
    }

 

按首字母排序汉字

标签:

原文地址:http://www.cnblogs.com/kuangliu/p/4763221.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!