编码

var arr = [43, 54, 4, -4, 84, 100, 58, 27, 140];

将上面数组分别按从大到小以及从小到大进行排序后在console中输出

var arr = ['apple', 'dog', 'cat', 'car', 'zoo', 'orange', 'airplane'];

将上面数组分别按字母顺序a-z及z-a进行排序,在console中输出

var arr = [[10, 14], [16, 60], [7, 44], [26, 35], [22, 63]];

将上面的二维数组,按照每个元素中第二个数从大到小的顺序进行排序输出,输出结果应该为:

[[22, 63], [16, 60], [7, 44], [26, 35], [10, 14]]
var arr = [
{
id: 1,
name: 'candy',
value: 40
}, {
id: 2,
name: 'Simon',
value: 50
}, {
id: 3,
name: 'Tony',
value: 45
}, {
id: 4,
name: 'Annie',
value: 60
}
];

将上面数组分别按元素对象的value值从小到大进行排序后输出

 <!DOCTYPE html>
<html> <head>
<meta charset="utf-8" />
<title>JS里的居民们8-排序</title>
</head> <body>
<script>
function compareNumbers(a, b) {
return a - b;
}
var arr1 = [43, 54, 4, -4, 84, 100, 58, 27, 140];
//将上面数组分别按从大到小以及从小到大进行排序后在console中输出
console.log("arr1从小到大排序:" + arr1.sort((a, b) => a - b));
console.log("arr1从小到大排序:" + arr1.sort(function (a, b) {
return a - b;
}))
console.log("arr1从大到小排序:" + arr1.sort((a, b) => a - b).reverse());
console.log("arr1从大到小排序:" + arr1.sort((a, b) => b - a)); var arr2 = ['apple', 'dog', 'cat', 'car', 'Zoo', 'orange', 'airplane'];
//将上面数组分别按字母顺序a-z及z-a进行排序,在console中输出
console.log("arr2从a-z排序:" + arr2.sort()); //与字符串相加,成为字符串打印出来
console.log("arr2从z-a排序:"); //大小写有差别!!注意
console.log(arr2.sort().reverse()); //仍为数组对象打印出来
var arr3 = [
[10, 14],
[16, 60],
[7, 44],
[26, 35],
[22, 63]
];
//将上面的二维数组,按照每个元素中第二个数从大到小的顺序进行排序输出,输出结果应该为:
console.log("arr3按第二个数从大到小排序:");
console.log(arr3.sort((a, b) => b[1] - a[1]));
console.log("arr3按第一个数从大到小排序:");
console.log(arr3.sort((a, b) => b[0] - a[0]));
//[[22, 63], [16, 60], [7, 44], [26, 35], [10, 14]] var arr4 = [{
id: 1,
name: 'candy',
value: 40
}, {
id: 2,
name: 'Simon',
value: 50
}, {
id: 3,
name: 'Tony',
value: 45
}, {
id: 4,
name: 'Annie',
value: 60
}];
//将上面数组分别按元素对象的value值从小到大进行排序后输出
arr4.sort(function (a, b) {
var valueA = a.value;
var valueB = b.value;
if (valueA < valueB) {
return -1;
}
if (valueA > valueB) {
return 1;
}
return 0;
})
console.log("按元素对象的value值从小到大进行排序:")
console.log(arr4); arr4.sort(function (a, b) {
var valueA = a.value;
var valueB = b.value;
if (valueA < valueB) {
return 1;
}
if (valueA > valueB) {
return -1;
}
return 0;
})
console.log("按元素对象的value值从大到小进行排序:")
console.log(arr4); arr4.sort(function (a, b) {
var nameA = a.name.toUpperCase(); //忽略大小写进行排序,按字母来
var nameB = b.name.toUpperCase();
if (nameA < nameB) {
return -1;
}
if (nameA > nameB) {
return 1;
}
return 0;
})
console.log("按元素对象的name值从a-z进行排序:")
console.log(arr4);
</script>
</body> </html>

JS里的居民们6-数组排序的更多相关文章

  1. JS里的居民们7-对象和数组转换

    编码 学习通用的数据用不同的数据结构进行存储,以及相互的转换 对象转为数组: var scoreObject = { "Tony": { "Math": 95, ...

  2. JS里的居民们5-数组(栈)

    编码1(栈顶在最右) 练习如何使用数组来实现栈,综合考虑使用数组的 push,pop,shift,unshift操作 基于代码,实现如按钮中描述的功能: 实现如阅读材料中,队列的相关进栈.退栈.获取栈 ...

  3. JS里的居民们4-数组((堆)队列

    编码1(队头在最右) 练习如何使用数组来实现队列,综合考虑使用数组的 push,pop,shift,unshift操作 基于代码,实现如按钮中描述的功能: 实现如阅读材料中,队列的相关入队.出队.获取 ...

  4. PHP中的__toString方法(实现JS里的链式操作)

    _toString方法是在打印对象时自动调用的魔术方法,如果不声明会报以下错 Catchable fatal error: Object of class String could not be co ...

  5. 理解 Node.js 里的 process.nextTick()

    有很多人对Node.js里process.nextTick()的用法感到不理解,下面我们就来看一下process.nextTick()到底是什么,该如何使用. Node.js是单线程的,除了系统IO之 ...

  6. chart.js 里添加图表的清单:

    chart.js 里添加图表的清单: var legend = myDoughnut.generateLegend(); $("#chart_legend").html(legen ...

  7. js笔记——js里var与变量提升

    var是否可以省略 一般情况下,是可以省略var的,但有两点值得注意: 1.var a=1 与 a=1 ,这两条语句一般情况下作用是一样的.但是前者不能用delete删除.不过,绝大多数情况下,这种差 ...

  8. js里cookie操作

    原生js操作cookie 创建和存储 cookie 在这个例子中我们要创建一个存储访问者名字的 cookie.当访问者首次访问网站时,他们会被要求填写姓名.名字会存储于 cookie 中.当访问者再次 ...

  9. JS里设定延时:js中SetInterval与setTimeout用法

     js中SetInterval与setTimeout用法 JS里设定延时: 使用SetInterval和设定延时函数setTimeout 很类似.setTimeout 运用在延迟一段时间,再进行某项操 ...

随机推荐

  1. 一步一步带你安装史上最难安装的 vim 插件 —— YouCompleteMe

    YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.参考: https://github ...

  2. MyEclipse迁移过程中Tomcat版本不一致的解决办法

    MyEclipse迁移过程中Tomcat版本不一致的解决办法 下面就是在MyEclipse2013迁移被Tomcat6.0X绑定的项目迁移到MyEclipse2014 Tomcat8.0X,报如下pr ...

  3. MD5算法分析

    1. MD5是什么? MD5即Message-Digest Algorithm 5(消息摘要算法第五版)的简称,是当前计算机领域用于确保信息传输完整一致而广泛使用的散列算法之一(又译哈希算法.摘要算法 ...

  4. 2019.2.14 t1 最大公约数

    代码: #include <cstdio> #include <iostream> #include <cstring> #include <algorith ...

  5. c语言-学生成绩信息系统

    #include<stdio.h> #define N 100 int Count=0; struct stu { int num; char name[20]; int computer ...

  6. 2018年10月19 手记 - 身为开发者的我de窘境

    从10月1国庆过完节回来,那已经是7号了,之后便开始紧锣密鼓的筹划着接下来11月份的公司组织的对外活动,这边新来的产品对产品或者说对任务很是负责,并且策划了很多的方案,并且乐意站在我们开发的角度上去考 ...

  7. kaggle kernel使用指南

    有几个要注意的地方: 1.可以选择CPU或GPU,但是机器学习模型一般的CPU就够了,最近(2019.04)使用GPU的话一小时后总是会断开连接,这时候要跑久一点的cell就凉了. 2.导入文件:支持 ...

  8. Linux 用Kazam 录有声音的视频

    1.相关链接 https://launchpad.net/kazam 2.特性 录制视频的格式 : webm(vp8),mp4(h264),avi(raw),avi(huffyuv),avi(loss ...

  9. 实现微信小程序支付

    1.在小程序中获取用户的登录信息,成功后可以获取到用户的code值 2.把code值传给服务端,服务端请求微信获取用户openid接口,成功后可以获取用户的openid值 3.服务器上面请求微信的统一 ...

  10. 利用URL Scheme打开APP并传递数据

    https://blog.csdn.net/u013517637/article/details/55251421 利用外部链接打开APP并传递一些附带信息是现在很多APP都有的功能,我在这把这部分的 ...