一、 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. Javascript模块化编程(二):AMD规范 (转)

    原文作者: 阮一峰 日期: 2012年10月30日 这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块. (接上文) 七.模块的规范 先想一想,为什么模块很重要? ...

  2. 1 Spark概述

     第1章 Spark概述 1.1 什么是Spark Spark是一种快速.通用.可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵 ...

  3. Netbox 开源 IPAM 管理工具搭建详细流程

    原文链接:Netbox 开源 IPAM 管理工具搭建详细流程 参考资料:https://netbox.readthedocs.io/en/stable/ PostgreSQL数据库安装 1.yum 下 ...

  4. 【转】Windows10删除文件时却提示文件不存在的解决方案

    Windows10系统使用一段时间后用户都会定期进行删除清理系统垃圾,减少系统盘的容量占用,但在删除的过程中许多用户都有可能遇到无法删除的情况,如下为删除文件时却提示文件不存在的解决方案. 1.新建一 ...

  5. 关闭jetbrains ide support 正在调试此浏览器提示

    1 安装JetBrains IDE Support插件 插件地址 2 启用插件 3 设置访问端口 4 WebStorm中设置Live Edit 5 关闭"JetBrains IDE Supp ...

  6. Dubbo直连方式改造

    目录 一.dubbo 服务化最佳实践 1. 分包 2. 粒度 3. 版本 二.改造 dubbo 项目 三.link-interface 1. pom.xml 2. 实体类 3. 公共接口 四.提供者 ...

  7. flutter 制作一个用户登录页面

    flutter 制作一个用户登录页面 用户登录效果图如下: 登录页面如下: import 'package:flutter/material.dart'; import 'package:flutte ...

  8. Gradle Wrapper

    Gradle Wrapper 当把本地一个项目放入到远程版本库的时候,如果这个项目是以gradle构建的,那么其他人从远程仓库拉取代码之后如果本地没有安装过gradle会无法编译运行,如果对gradl ...

  9. Docker 镜像的备份恢复迁移

    在大家已经学会了如何构建镜像以后,为了备份该镜像,我们有以下几个选择: 我们可以将指定镜像保存成 tar 归档文件,需要使用时将 tar 包恢复为镜像即可: 登录 DockerHub 注册中心,将镜像 ...

  10. Redis锁实现防重复提交和并发问题

    @Slf4j @Component public class RedisLock { public static final int LOCK_EXPIRE = 5000; @Autowired pr ...