js中数组Array对象的方法sort()的应用
一、 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()的应用的更多相关文章
- JavaScript 数组(Array)对象的方法
JavaScript 数组(Array)对象的方法 concat() 描述:用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 原型:arrayObject.conc ...
- JavaScript -- 时光流逝(三):js中的 String 对象的方法
JavaScript -- 知识点回顾篇(三):js中的 String 对象的方法 (1) anchor(): 创建 HTML 锚. <script type="text/javasc ...
- JavaScript -- 时光流逝(五):js中的 Date 对象的方法
JavaScript -- 知识点回顾篇(五):js中的 Date 对象的方法 Date 对象: 用于处理日期和时间. 1. Date对象的方法 <script type="text/ ...
- JS基础语法---Array对象的方法
Array对象的方法 Array.isArray(对象)---->判断这个对象是不是数组 instanceof关键字 判断对象是不是数组类型:两种方法: //1 instanceof var ...
- JS中数组Array的用法示例介绍 (转)
new Array() new Array(len) new Array([item0,[item1,[item2,...]]] 使用数组对象的方法: var objArray=new Array() ...
- js中数组Array的一些常用方法总结
var list = new Array()是我们在js中常常写到的代码,今天就总结一下Array的对象具有哪些方法. list[0] = 0; list[1] = 1; list[2] = 2; 或 ...
- JS中数组去重的九方法
数组去重方法 方法一:运用set结构特点:存储的数据没有重复的,结果为对象,再用Array.from()转换成数组 var arr = [1,1,2,1,3,4,5] ...
- js中数组遍历常用的方法
常见的数组遍历方法,比如 for in,for of, forEach,map,filter,every,some,find,reduce等 1,普通for循环,经常用的数组遍历 var arr = ...
- js中获取事件对象的方法小结
原文地址:http://jingyan.baidu.com/article/d8072ac4594d6cec95cefdac.html 事件对象 的获取很简单,很久前我们就知道IE中事件对象是作为全局 ...
随机推荐
- C#连接Oracle数据库,通过EF自动生成与数据库表相关的实体类
C#连接Oracle数据库,通过EF自动生成与数据库表相关的实体类 ps:如需转载,请在转载文章明显处,i标注作者和原文地址 一.准备条件 需要自己电脑上已经安装了Oracle数据库,并且已经创建了相 ...
- 碰到 Json_CSRF 怎么办?
前言 在最近挖洞的时候,老是碰到 POST 传参采用 JSON 格式,而不是传统的parameter=value的格式,之前也没接触过,所以也不知道该怎么搞,所以打算学习一下,此文作为一个笔记梳理. ...
- add application window with unknown token XXX Unable to add window;is your activity is running?
报错: Attempted to add application window with unknown token XXX Unable to add window——token android.o ...
- Mockito鸡尾酒第一杯 单测Mock
鸡尾酒 Mockito是Java的单元测试Mock框架. 它的logo是一杯古巴最著名的鸡尾酒Mojito, Mojito鸡尾酒,源自古巴的哈瓦那,带有浓厚的加勒比海风情. 并不浓烈,但是喝一杯下去, ...
- max user processes 导致的服务器大量close_wait问题解决过程
1.背景: 由于现网业务量增长过快,需要扩容应用程序服务器,分担来自前端的访问压力. 2.故障: 部署好业务启动程序后,发现程序运行一小会后不产生新的日志和数据. 3.查问题过程: 1.首先查看程序运 ...
- SCAFFOLD: Stochastic Controlled Averaging for On-Device Federated Learning
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文. arXiv:1910.06378v1 [cs.LG] 14 Oct 2019 Abstr ...
- jdk8的下载、安装、配置
jdk官方网址:https://www.oracle.com/java/technologies/javase-downloads.html 小编微信和公众号(很高兴能与各位交流学习) 以下是具体步骤 ...
- seo如何发外链
http://www.wocaoseo.com/thread-228-1-1.html 在做外链方面博主并没有什么太多的经验,做为一位seo,下面武汉seo把自己做外链的大条列出来,都是经过本身实践并 ...
- 如何通过seo技术提高网站对用户的友好度
http://www.wocaoseo.com/thread-129-1-1.html 今天的天气又是29度,眼看着满大街的人都穿着短袖和衬衣了,自己也再不能穿个厚厚的外套出去了,要不会被别人笑 ...
- 最强云硬盘来了,让AI模型迭代从1周缩短到1天
摘要:华为云擎天架构+ Flash-Native存储引擎+低时延CurreNET,数据存储和处理还有啥担心的? 虽然我们已经进入大数据时代,但多数企业数据利用率只有10%,数据的价值没有得到充分释放. ...