js函数排序的实例代码


Posted in Javascript onJuly 01, 2013
var as = [1,2,11,3434,3,4545,33,55,0];
as.sort(); //这个排序是按照字典排序
//自定义按照数字排序
function sortByNum(a,b){
return parseInt(a) - parseInt(b);
}
as.sort(sortByNum);
//按照对象来排序
//定义一个person对象
function Person(name.age){
this.name=name;
this.age=age;
}
var p1 = new Person("zhang1",11);
var p2 = new Person("zhang2",1);
var p3 = new Person("zhang3",18);
var p4 = new Person("zhang4",13);
var ps = [p1,p2,p3,p4];
function sortByName(obj1,obj2){
 if(obj1.name>obj2.name){return 1}
 else if(obj1.name==obj2.name){return 0}
 else{return -1}
 }
function sortByAge(obj1,obj2){
 return obj1.age - obj2.age;
 }
 ps.sort(sortByName) //按照名字排序
 ps.sort(sortByAge) //按照年龄排序

以上排序带来的问题就是假设对象有很多属性,那么我们程序就要为多少属性分别去设置排序的规则。所以就有了如下方法:
function sortByProperty(proName){
var sortFun = function(obj1,obj2){
if(obj1[proName]>obj2[proName]) {return 1}
else if(obj1[proName]==obj2[proName]) {return 0}
else {return -1}
}
return sortFun;
}
Javascript 相关文章推荐
JavaScript 原型链学习总结
Oct 29 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
Mar 30 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
Aug 13 Javascript
js通过iframe加载外部网页的实现代码
Apr 05 Javascript
基于jQuery实现多层次的手风琴效果附源码
Sep 21 Javascript
第二篇Bootstrap起步
Jun 21 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
Dec 14 Javascript
vue2滚动条加载更多数据实现代码
Jan 10 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
Feb 12 Javascript
解决layui动态添加的元素click等事件触发不了的问题
Sep 20 Javascript
Vue双向绑定实现原理与方法详解
May 07 Javascript
Vue+Element UI实现概要小弹窗的全过程
May 30 Vue.js
利用JS延迟加载百度分享代码,提高网页速度
Jul 01 #Javascript
jQuery提交多个表单的小例子
Jun 30 #Javascript
用jquery存取照片的具体实现方法
Jun 30 #Javascript
js正文内容高亮效果的实现方法
Jun 30 #Javascript
Jquery网页出现的乱码问题的三种解决方法
Jun 30 #Javascript
JavaScript全排列的六种算法 具体实现
Jun 29 #Javascript
利用js 进行输入框自动匹配字符的小例子
Jun 29 #Javascript
You might like
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
php搜索文件程序分享
2015/10/30 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
javascript的函数
2007/01/31 Javascript
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
javascript基础语法——全面理解变量和标识符
2016/06/02 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
JS变量及其作用域
2017/03/29 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
浅谈Vue网络请求之interceptors实际应用
2018/02/28 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
Vue实现数据请求拦截
2019/10/23 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
2020/07/21 Javascript
[01:05:41]EG vs Optic Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
spyder常用快捷键(分享)
2017/07/19 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
Python数字图像处理之霍夫线变换实现详解
2018/01/12 Python
浅谈python3.6的tkinter运行问题
2019/02/22 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
移动Web—CSS为Retina屏幕替换更高质量的图片
2012/12/24 HTML / CSS
日本最大化妆品和美容产品的综合口碑网站:cosme shopping
2019/08/28 全球购物
Linux操作面试题
2015/02/11 面试题
J2EE面试题
2016/03/14 面试题
会计与审计专业自荐信范文
2014/03/15 职场文书
2015年安全员工作总结范文
2015/04/22 职场文书
2015年统战工作总结
2015/05/19 职场文书
有趣的二维码:使用MyQR和qrcode来制作二维码
2021/05/10 Python
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP