//javaScript sort()排序算法
//sort()方法默认把所有的元素转换成String再排序,字符串是根据ASCII进行排序的,所以会出现“10”排在“2”前面,或是小写字母“a”排在大写“B”的后面等情况。、 //可以通过接收一个比较函数来实现自定义的排序。
/**/
var arr=[10,20,1,2];
arr.sort(function(x,y){
if(x<y){
return -1;
}
if(x>y){
return 1;
}
return 0;
});
console.log(arr);//[1, 2, 10, 20] /**/
var arr=[10,20,1,2];
arr.sort(function(x,y){
if(x>y){
return -1;
}
if(x<y){
return 1;
}
return 0;
});
console.log(arr);//[20, 10, 2, 1] /**/
//对字符串按字母顺序进行排序。实际上就是把字符串都变成大写(或者是都变成小写),再比较。
var arr = ['Google', 'apple', 'Microsoft'];
var a=arr.sort(function(s1,s2){
x1=s1.toUpperCase();
x2=s2.toUpperCase();
if(x1<x2){
return -1;
}
if(x1>x2){
return 1;
}
return 0;
});
console.log(a);//["apple", "Google", "Microsoft"] //要注意的是:sort()方法会直接对Array进行修改,它返回的结果仍是当前Array。
console.log(arr);// ["apple", "Google", "Microsoft"]

JS_高阶函数(sort)的更多相关文章

  1. 廖老师JavaScript教程高阶函数-sort用法

    先来学习一个新词:高阶函数 高阶函数英文叫Higher-order function.那么什么是高阶函数? JavaScript的函数其实都指向某个变量.既然变量可以指向函数,函数的参数能接收变量,那 ...

  2. 高阶函数sort

    排序中我们经常会用sort这个高阶函数,我们今天就来讲讲这个sort的比较机制,对于数字来说我们只需要比较他们的大小就可以了 但是 var arr =[15,81,9,4,3]; alert(arr. ...

  3. JS_高阶函数(filter)

    //2017/7/18 //高阶函数:filter. //filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素.和map()类似,Array的filter()也接收一 ...

  4. JS_高阶函数(map and reduce)

    //高阶函数:一个函数可以接受另一个函数作为参数,这种函数称之为高阶函数. */ function f(x,y,f){ return f(x)+f(y); } var sumAbs=f(-6,4,Ma ...

  5. JavaScript高阶函数 map reduce filter sort

    本文是笔者在看廖雪峰老师JavaScript教程时的个人总结 高阶函数            一个函数就接收另一个函数作为参数,这种函数就称之为高阶函数          1.高阶函数之map:   ...

  6. 高阶函数,柯里化,sort排序

    高阶函数概念 first class object:     函数在python中时一等公民.     函数也是对象,可调用的对象.     函数可以作为普通变量,参数,返回值等等. 高阶函数:    ...

  7. JavaScript学习笔记(十)——高阶函数之map,reduce,filter,sort

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  8. js基础--高阶函数(map,reduce,filter,sort)

    高阶函数 一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数,编写高阶函数,就是让函数的参数能够接收别的函数. function add (x,y,f){return f(x)+f(y)} ...

  9. JavaScript高阶函数map/reduce、filter和sort

    map() 举例说明,比如我们有一个函数f(x)=x²,要把这个函数作用在一个数组[1,2,3,4,5,6,7,8,9]上. 由于map()方法定义在JavaScript的Array中,我们调用Arr ...

随机推荐

  1. 在PHP中使用AES加密算法加密数据

    算法/模式/填充 16字节加密后数据长度 不满16字节加密后长度 AES/CBC/NoPadding 不支持 AES/CBC/PKCS5Padding AES/CBC/ISO10126Padding ...

  2. plink命令

    用plink远程登陆link主机执行脚本,但是无法执行sudo命令 完成后自己关闭 plink   -l  root   192.168.1.21  df -h plink.exe  -ssh  -p ...

  3. JVM及class文件加载问题-学习使人快乐4

    今天看了些粗浅的JVM原理的知识 1.class文件编译过程: 词法分析 语法分析 源码 ---------Token流-------------语法树----------字节码 2.classloa ...

  4. Codeforces 1017E The Supersonic Rocket 凸包,计算几何,字符串,KMP

    原文链接https://www.cnblogs.com/zhouzhendong/p/CF1017E.html 题目传送门 - CF1017E 题意 给定两个点集,并构成两个凸包. 问这两个凸包是否可 ...

  5. 洛谷3825 [NOI2017]游戏 2-sat

    原文链接http://www.cnblogs.com/zhouzhendong/p/8146041.html 题目传送门 - 洛谷3825 题解 我们考虑到地图中x的个数很少,最多只有8个. 所以我们 ...

  6. netty01(长短连接、java)

    使用netty需要添加依赖包 netty版本:netty-5.0.0.Alpha2 http://files.cnblogs.com/files/applerosa/netty-5.0.0.Alpha ...

  7. 070 DStream中的transform和foreachRDD函数

    1.说明 DStream的API不够满足使用的时候,可以使用这两个函数,将dstream转换为rdd,然后进行操作 2.transform transform:将DStream的操作转换为RDD的操作 ...

  8. TF之AE:AE实现TF自带数据集数字真实值对比AE先encoder后decoder预测数字的精确对比—Jason niu

    import tensorflow as tf import numpy as np import matplotlib.pyplot as plt #Import MNIST data from t ...

  9. POJ 2352 Stars【树状数组】

    <题目链接> 题目大意: 题目给出n个点,这些点按照y坐标的升序,若y相同,则按照x的升序顺序输入,问,在这些点中,左下角的点的数量分别在0~n-1的点分别有多少个,写出它们的对应点数. ...

  10. Python语言说明

    第一章:Python入门一.语言什么是语言:人与人之间的沟通计算机语言:计算机语言,即人和计算机之间的沟通语言. 按照级别分类:机器语言:最底层,最低级的语言,只能识别0/1,电平信号汇编语言:计算机 ...