js函数排序的实例代码_javascript技巧

复制代码 代码如下:

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;
}

时间: 2024-09-08 22:06:29

js函数排序的实例代码_javascript技巧的相关文章

js函数排序的实例代码

这篇文章介绍了js函数排序的代码,有需要的朋友可以参考一下   复制代码 代码如下: 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)

动态加载js、css的实例代码_javascript技巧

一.原生js: /** * 加载js和css文件 * @param jsonData.path 前缀路径 * @param jsonData.url 需要加载的js路径或css路径 * @param jsonData.type 需要加载的类型 js或css */ function loadWriteFiles(jsonData) { jsonData.path = jsonData.path != undefined ? jsonData.path : ""; if(jsonData.

简单封装js的dom查询实例代码_javascript技巧

最近一直在啃犀牛书,有感,于是写了个简单的js的dom查询 $ = function (val) { switch(val.charAt(0)) { case '#' : return document.getElementById(val.substring(1)); break; case '.' : val = val.replace('.',''); if(document.getElementsByClassName) return document.getElementsByClas

基于js实现投票的实例代码_javascript技巧

本文实例讲述了JavaScript实现三种投票方式的实现方法,分享给大家供大家参考.具体如下: 一.js柱状投票图 效果图: 实现代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org

利用Ext Js生成动态树实例代码_javascript技巧

一. 需求 要求生成一颗部门树,初始只列出根部门 当点击一个部门节点时,动态载入该部门下的直属子部门,并展开该部门节点 部门节点要求支持右键单击事件,当点击右键时,列出相关操作菜单 二. 关键类 这里主要涉及Ext JS的两个类: Ext.tree.TreeNode Ext.menu.Menu 相关API可以参考:http://extjs.com/deploy/ext/docs/ 三. 代码示例 1. 先看一下测试页面 复制代码 代码如下: <html> <head> <me

js 自动播放的实例代码_javascript技巧

复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html;

js获取当月最后一天实例代码_javascript技巧

以下就是JS代码:: @ author YHC: 复制代码 代码如下: function getCurrentMonthLastDay(){     var current=new Date();     var currentMonth=current.getMonth();     var nextMonth=++currentMonth;     var nextMonthDayOne =new Date(current.getFullYear(),nextMonth,1);     va

js函数的延迟加载实现代码_javascript技巧

复制代码 代码如下: //非延迟加载的函数,每次调用都会进行条件判断 function removeHandler(target,eventType,handler) { if(target.removeEventListener) { target.removeEventListener(eventType,handler,false); }else { target.detachEvent("on"+eventType,handler); } } //延迟加载的函数,第一次调用后,

JS操作数据库的实例代码_javascript技巧

一.创建SQL Server数据库建库:test建表: 复制代码 代码如下: /* Navicat MySQL Data Transfer Source Server         : localhost Source Server Version : 50520 Source Host           : localhost:3306 Source Database       : mo Target Server Type    : MYSQL Target Server Versio