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中事件对象是作为全局 ...
随机推荐
- Spring Security报异常 Encoded password does not look like BCrypt
控制台报错: Encoded password does not look like BCrypt 意思是前端传回去的密码格式与数据库里的密码格式不匹配,这样即使密码正确也无法校验.自然也就无法登录. ...
- JavaScript学习系列博客_30_JavaScript Date 日期对象
Date - 日期的对象,在JS中通过Date对象来表示一个时间 - 创建一个当前的时间对象 var d = new Date(); - 创建一个指定的时间对象 var d = new Date(&q ...
- scp 转
linux之cp/scp命令 名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... directory 说明 ...
- web渗透测试之sqlmap拿到数据库信息
通过扫描我们发现目标网站存在sql注入漏洞,我们访问该里面后发现该网站里面有个表格提交参数.确实存在没有过滤 使用sqlmap扫描发现漏洞的确存在,这里是布尔盲注 查看当前数据库名 查看表名得到以下信 ...
- 区块链入门到实战(22)之以太坊(Ethereum) – 账号(地址)
作用: 外部账号 – 用户使用的账号,账户余额. 合约账号 – 智能合约使用的账号,每个智能合约都有一个账号,内存和账户余额 以太坊(Ethereum)网络中,有2种账号: 外部账号 – 用户使用的账 ...
- 小白一样能建站——winser2012 IIS8.0搭建基本的网站
在window server 2012环境下,搭建一个基本的 网站.能够使用即可. 打开服务器管理器 添加角色和功能 默认下一步 下一步, 下一步,选择web服务器 添加功能 下一步, 下一步,不安装 ...
- 类的加载,链接和初始化——1运行时常量池(来自于java虚拟机规范英文版本+本人的翻译和理解)
加载(loading):通过一个特定的名字,找到类或接口的二进制表示,并通过这个二进制表示创建一个类或接口的过程. 链接:是获取类或接口并把它结合到JVM的运行时状态中,以让类或接口可以被执行 初始化 ...
- Micro-CMS v1 (Hacker101 CTF)
这道题一共有四个flag,初步观察可以创建或者修改发布的内容. Flag1: 首先随便创建了一个页面,创建完成后页面会直接跳转到我们所创建的页面. 初步判断网页应该是根据地址栏后的数字来查询并且显示页 ...
- SpringBoot系列之从入门到精通系列教程
对应SpringBoot系列博客专栏,例子代码,本博客不定时更新 Spring框架:作为JavaEE框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时Spring框架及其子框架很多, ...
- Resis常用命令及数据类型
1.下载Windows环境redis安装: 2.下载jar包: commons-pool2-2.4.2.jar jedis-2.9.0.jar 3.项目结构: 4.代码说明: package com. ...