一、 sort()方法的介绍  

 //给一组数据排序
var arrNum = [12,1,9,23,56,100,88,66];
console.log("排序前的数组:"+arrNum);
arrNum.sort();//默认按照字母排序
console.log("排序后的数组:"+arrNum); //对数组进行升序排列,将函数作为参数传入
arrNum.sort(function (a,b) {
return a-b;//数组中两两比较,结果为正(a>b),则互换位置,小的在前面(从索引0开始,分别和后面元素比较)
});
console.log("升序排序后的数组:"+arrNum); //对数组进行降序排列,将函数作为参数传入
arrNum.sort(function (a,b) {
return b-a;//数组中两两比较,结果为正,则互换位置,大的在前面
});
console.log("降序排序后的数组:"+arrNum); 二、 sort()方法的高级应用(按照对象数组中对象的属性进行排序)
function Student(name,age,score) {
this.name = name;
this.age = age;
this.score = score;
} var stu1 = new Student("寒殇凌雪",23,100);
var stu2 = new Student("花木扶疏",25,97);
var stu3 = new Student("北城以北",20,95);
var stu4 = new Student("南柯一梦",24,99);
var stu5 = new Student("水墨淡彩",22,95); var arr = [];
arr.push(stu1,stu2,stu3,stu4,stu5);
console.log("排序前输出每一个索引对应的值如下:")
for(i in arr){
console.log(arr[i]);
} // arr.sort(upSort("score"));
arr.sort(upSort("score","age"));
console.log("升序排列后输出每一个索引对应的值如下:")
for(i in arr){
console.log(arr[i]);
} //arr.sort(lowSort("score"));
arr.sort(lowSort("score","age"));
console.log("降序排列后输出每一个索引对应的值如下:")
for(i in arr){
console.log(arr[i]);
} /* //升序排列
function upSort(property) {//指定某个属性的排序
return function (a,b) {
return a[property] - b[property];
}
}*/ function upSort(score,age) {//指定某个属性的排序
return function (a,b) {
if(a.score == b.score){//当分数相等,按照年龄排序
return a.age - b.age;
}
return a.score - b.score;
}
} //降序排列
/* function lowSort(property) {//指定某个属性的排序
return function (a,b) {
return b[property] - a[property];
}
}*/ function lowSort(score,age) {//指定某个属性的排序
return function (a,b) {
if(a.score == b.score){//当分数相等,按照年龄排序
return b.age - a.age;
}
return b.score - a.score;
}
} /*var arr1 = [12,8,45,10];
arr1.sort(function (a,b) {
return a-b;//升序
});
console.log(arr1); arr1.sort(function (b,a) {
return a-b;//升序
});
console.log(arr1)*/

js中数组Array对象的方法sort()的应用的更多相关文章

  1. JavaScript 数组(Array)对象的方法

    JavaScript 数组(Array)对象的方法 concat() 描述:用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 原型:arrayObject.conc ...

  2. JavaScript -- 时光流逝(三):js中的 String 对象的方法

    JavaScript -- 知识点回顾篇(三):js中的 String 对象的方法 (1) anchor(): 创建 HTML 锚. <script type="text/javasc ...

  3. JavaScript -- 时光流逝(五):js中的 Date 对象的方法

    JavaScript -- 知识点回顾篇(五):js中的 Date 对象的方法 Date 对象: 用于处理日期和时间. 1. Date对象的方法 <script type="text/ ...

  4. JS基础语法---Array对象的方法

    Array对象的方法   Array.isArray(对象)---->判断这个对象是不是数组 instanceof关键字 判断对象是不是数组类型:两种方法: //1 instanceof var ...

  5. JS中数组Array的用法示例介绍 (转)

    new Array() new Array(len) new Array([item0,[item1,[item2,...]]] 使用数组对象的方法: var objArray=new Array() ...

  6. js中数组Array的一些常用方法总结

    var list = new Array()是我们在js中常常写到的代码,今天就总结一下Array的对象具有哪些方法. list[0] = 0; list[1] = 1; list[2] = 2; 或 ...

  7. JS中数组去重的九方法

            数组去重方法        方法一:运用set结构特点:存储的数据没有重复的,结果为对象,再用Array.from()转换成数组   var arr = [1,1,2,1,3,4,5] ...

  8. js中数组遍历常用的方法

    常见的数组遍历方法,比如 for in,for  of, forEach,map,filter,every,some,find,reduce等 1,普通for循环,经常用的数组遍历 var arr = ...

  9. js中获取事件对象的方法小结

    原文地址:http://jingyan.baidu.com/article/d8072ac4594d6cec95cefdac.html 事件对象 的获取很简单,很久前我们就知道IE中事件对象是作为全局 ...

随机推荐

  1. 【转载】PyChram简单使用教程

    原文链接:https://www.cnblogs.com/yamei/p/5519818.html 一.PyChram下载官网:http://www.jetbrains.com/pycharm Win ...

  2. Java反射概念与基础

    反射机制是Java动态性之一,而说到动态性首先得了解动态语言.那么何为动态语言? 一.动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化.比如常见 ...

  3. ThinkCMF&Thinkphp 首页静态化处理

    基于TP5的页面静态化教程 1.首页在控制器添加以下代码生成静态页面文件 $info = $this->buildHtml("/staticIndex", 'static', ...

  4. Java算法——动态规划

    基本思想: 动态规划算法通常用于求解具有某种最优性质的问题(作用就是求最优解).在这类问题中,可能会有许多可行解.每一个解都对应于一个值,我们希望找到具有最优值的解.动态规划算法与分治法类似,其基本思 ...

  5. oracle练习前期准备

    oracle练习前期准备 登陆scott用户(默认密码tiger),开始一般提示用户已锁. 解决办法:登陆sys或system用户解锁 输入命令alter user scott account unl ...

  6. springboot之对之前的补充

    Spring Cloud 初级 一. Spring Boot 回顾   1 什么是 Spring Boot?   Spring Boot 是在 Spring 的基础之上产生的(确切的说是在 Sprin ...

  7. 不要再问我 in,exists 走不走索引了

    微信搜『烟雨星空』,获取最新好文. 前言 最近,有一个业务需求,给我一份数据 A ,把它在数据库 B 中存在,而又比 A 多出的部分算出来.由于数据比较杂乱,我这里简化模型. 然后就会发现,我去,这不 ...

  8. 揭秘|一探腾讯基于Kubeflow建立的多租户训练平台背后的技术架构

    腾讯业务及组织架构现状 先简单和大家介绍一下腾讯内部的业务及相关组织架构的现状,有助于帮助大家理解为什么我们会基于后面的架构来设计整套方案. 下图的应用大多数人经常会用到,比如微信.腾讯视频.游戏等等 ...

  9. Python画图库Turtle库详解篇

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...

  10. 解决ASP.NET上传文件大小限制------(转载人家的博客很好用,略作修改)

    解决ASP.NET上传文件大小限制 (2012-06-26 15:18:01) 转载▼ 标签: it   第一种方法,主要适用于IIS6.0版本 一.修改配置Web.Config文件中的httpRun ...