JavaScript非数字(中文)排序
直接上代码:
var arr=[
{name:"张散步",age:"23",sports:"篮球",number:"231123"},
{name:"李斯的",age:"3",sports:"钢琴",number:"534563"},
{name:"艾伦",age:"63",sports:"排球",number:"345455"},
{name:"王武",age:"33",sports:"乒乓球",number:"867324"},
{name:"乏力",age:"26",sports:"足球",number:"132457"}
]; //console.log(ForwardRanking(arr,"name"));//正序
//console.log(ReverseRanking(arr,"name"));//反序
//console.log(ForwardRanking(arr,"sports"));//正序
//console.log(ReverseRanking(arr,"sports"));//反序 /* 中文正向排序
*
* data:对象数组
* p:排序的参数名
*
* */
function ForwardRanking(data, p) {
for (i = 0; i < data.length - 1; i++) {
for (j = 0; j < data.length - 1 - i; j++) {
var dd = (data[j][p].localeCompare(data[j + 1][p], "zh"));//1---前者往后移,-1===位置不变
if (dd > 0) {
var temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
}
return data;
} /*反向排序
*
* data:对象数组
* p:排序的参数名
*
* */
function ReverseRanking(data, p) {
for (i = 0; i < data.length - 1; i++) {
for (j = 0; j < data.length - 1 - i; j++) {
var dd = (data[j][p].localeCompare(data[j + 1][p], "zh"));//1---前者往后移,-1===位置不变
if (dd < 0) {
var temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
}
return data;
}
结果如下:
1、姓名,左边是正序(ForwardRanking(arr,"name")),右边是反序(ReverseRanking(arr,"name"));
1、sports,左边是正序(ForwardRanking(arr,"sports")),右边是反序(ReverseRanking(arr,"sports"));
这是其他排序的方法,欢迎查看,欢迎给意见!
JavaScript非数字(中文)排序的更多相关文章
- JavaScript按IP地址排序
JavaScript按IP地址列表排序,主要思路就是分割每个点号部分,然后ip1和ip2分别对不够三位数的进行补0操作,然后转换为数字类型进行一一比较. 上代码: 正序: var arr=[ {ip: ...
- JS排序:localeCompare() 方法实现中文排序、sort方法实现数字英文混合排序
定义:用本地特定的顺序来比较两个字符串. 语法:stringObject.localeCompare(target) 参数:target——要以本地特定的顺序与 stringObject 进行比较的字 ...
- Javascript中将数字转换为中文的方法
//js实现将数字1234转化为汉字字符串(一千二百三十四)(或大写汉字壹仟贰佰叁拾肆): /*阿拉伯数字转中文数字 中文数字的特点: 每个计数数字都跟着一个权位,权位有:十.百.千.万.亿. 以“万 ...
- Js中文排序(拼音首字母)
演示地址:http://lar5.sinaapp.com/ 1.index.html <html xmlns="http://www.w3.org/1999/xhtml"&g ...
- JavaScript字符串&数字间转换
比较操作符的操作数可以是任意类型.然而,只有数字和字符串才能真正执行边角操作,因此那些不是数字和字符串的操作数都讲进行类型转换,类型转换规则如下: 如果操作数为对象,那么对象转换为原始值:如 ...
- PHP 向 MySql 中数据修改操作时,只对数字操作有效,非数字操作无效,怎么办?
问题描述: 用PHP向MySql数据库中修改数据,实现增删改(数据库能正确连接) 经测试,代码只能对数字进行正常的增删改操作,非数字操作无效 但要在课程名称中输入中文,应该如果修改呢? 存 ...
- ORACLE的order by中文排序
在使用order by排序的时候,出现如下情况: 印象中中文排序应该默认是按照拼音排序的,为何"鑫"会排在"中"的后面呢?猜想order by是不是根据对应 ...
- jQuery的dataTables插件实现中文排序
最近在写Java web. 写JSP的时候发现一个很好玩的插件dataTables.分页.过滤.排序等等手到擒来. 哎哎哎,有点点可惜的是排序这个功能不支持中文.于是网上查查找找,现在把方法整理一下, ...
- TreeMap中文排序,TreeMap倒序输出排列
1.TreeMap集合倒序排列 import java.util.Comparator; /** * 比较算法的类,比较器 * @author Administrator * */ public cl ...
随机推荐
- [git] 本地仓库信息的查询
本地仓库信息查询操作 1.1 git status 查看当前暂存区状态 git status 显示当前分支信息: 提交的目的分支信息: git 管理的有修改的文件: 当前仓库未被 git 管理的文 ...
- inception安装使用
一个集审核.执行.备份及生成回滚语句于一身的MySQL自动化运维工具,由去哪网开源 安装 CentOS 7 Python 3.6 安装基础环境 yum -y install cmake libncur ...
- vue脚手架构
我们是用Eclipse开发的,所以用vue开始时,要进行代理,不然访问不到服务器,所以就需要配置一下 dev context 里面写的是代理的接口,就是以这些接口开头的,如果没有就往里写一下,pro ...
- html css 其他常用 onclick跳转
opacity: 0.5. 0-1 透明度 cursor: pointer;手指 clear:both 清楚浮动 我是医生不是人 文本内容超出框word-wrap:break-word; word-b ...
- 第六章:声明式服务调用:Spring Cloud Feign
Spring Cloud Feign 是基于 Netflix Feign 实现的,整合了 Spring Cloud Ribbon 和 Spring Cloud Hystrix,除了提供这两者的强大功能 ...
- Volley Post网络请求
/*post请求*/public void dostringVolleypost(){ /*第一步,创建请求队列*/ queue = Volley.newRequestQueue(this); /*第 ...
- CSS 基础:CSS 工作原理(2)<思维导图>
这段时间利用一下间隙时间学习了CSS的基础知识,主要目的是加深对CSS的理解,虽然个人主要工作基本都是后台开发,但是个人觉得系统学习一下CSS的基础还是很有必要的.下面我学习CSS时做的思维导图(全屏 ...
- An Exploration of ARM TrustZone Technology
墙外通道:https://genode.org/documentation/articles/trustzone ARM TrustZone technology has been around fo ...
- 图像边缘检测——几种图像边缘检测算子的学习及python 实现
本文学习利用python学习边缘检测的滤波器,首先读入的图片代码如下: import cv2 from pylab import * saber = cv2.imread("construc ...
- ajax读取txt文本时乱码的解决方案
前言:第一次学习使用 ajax 就是用来读取文本 先给出现乱码的代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...