java使用sort排序,sort排序用法
本教程运行环境:windows7系统,javascript1.8.5版本1.8.5,戴尔G3电脑。
sort()方法可以根据特定条件对数组元素进行排序。如果调用sort()方法时没有传递参数,数组中的元素将按字母顺序排序。
var a=[a , e , d , b , c ];//定义一个数组
a . sort();//按字母顺序对元素排序
console . log(a);//返回数组[a,b,c,d,e]。使用sort()方法时,要注意以下问题。
1)所谓字母顺序,其实就是按照字符编码表中字母的顺序排列。每个字符在字符表中都有一个唯一的数字。
2)如果元素不是字符串,sort()方法会尝试将所有数组元素转换成字符串进行比较。
sort()方法会根据元素值进行逐位比较,而不是根据字符串的个数进行排序。
var a=[aba , baa , aab ];定义数组
a . sort();//按字母顺序对元素排序
console . log(a);//返回数组[aab,aba,baa]。排序时,先比较每个元素的第一个字符,如果第一个字符相同,再比较第二个字符,以此类推。
4)无论如何,数组中未定义的元素都排在最后。
sort()方法在原数组的基础上进行排序,不会创建新的数组。
sort()方法不仅可以按字母顺序排序,还可以按照其他顺序进行运算。此时,您必须为该方法提供一个函数参数。该函数比较两个值,然后返回一个数字来解释这两个值的相对顺序。排序函数应该有两个参数,A和B,它的返回值如下。
如果按照自定义的标准,A小于B,那么在排序后的数组中,A应该出现在B之前,返回小于0的值。
如果a等于b,则返回0。
如果a大于b,则返回大于0的值。
示例1
在下面的例子中,将根据排序函数比较数组中每个元素的大小,并按照从小到大的顺序进行排序。
Function (a,b){//排序函数
返回(a-b);//返回比较参数
}
var a=[3,1,2,4,5,7,6,8,0,9];//定义一个数组
a . sort(f);//按照数字的大小从小到大排序
console . log(a);//返回数组[0,1,2,3,4,5,6,4,7,8,9]。如果是降序执行,就让返回值反过来。代码如下:
Function (a,b){//排序函数
返回-(a-b);//反转并返回比较参数
}
var a=[3,1,2,4,5,7,6,8,0,9];//定义一个数组
a . sort(f);//按照数字的大小从小到大排序
console . log(a);//返回数组[9,8,7,6,5,4,3,2,1,0]示例2
根据奇偶属性排列数组。
sort()的使用比较灵活,主要用于函数排序的比较。比如数组按奇偶性排序,只需要判断序列函数中的两个参数是否奇偶性,决定排序顺序。
函数f(a,b){///排序函数
var a=a % 2;//获取参数a的奇偶性。
var b=b % 2;//获取参数b的奇偶性。
if (a==0)返回1;//如果参数A是偶数,则排在左边
if (b==0)返回-1;//如果参数B是偶数,则排在右边
}
var a=[3,1,2,4,5,7,6,8,0,9];//定义一个数组
a . sort(f);//按照数字大小从大到小排序
console . log(a);//返回array [3,1,5,7,9,0,8,6,4,2]sort()方法。调用排序函数时,将每个元素值传递给排序函数,如果元素值是偶数,则保留其位置;如果元素值为奇数,则参数A和B的显示顺序会颠倒,从而对数组中的所有元素进行奇偶排序。如果你想让偶数先来,奇数后来,你只需要得到返回值。排序功能如下。
函数f(a,b) {
var a=a % 2;
var b=b % 2;
if (a==0)返回-1;
if (b==0)返回1;
}示例3
不区分大小写的排序字符串。
一般情况下,对字符串排序是区分大小写的,因为字符编码表中每个大写字母和小写字母的顺序是不一样的,大写字母比小写字母大。
var a=[aB , aB , Ba ];//定义一个数组
a . sort();//默认方法排序
console . log(a);//返回数组[Ab , Ba , Ab , bA]。大写字母总是在左边。如果小写字母总是在左侧,您可以设计:
函数f(a,b) {
返回(a b);
}
var a=[aB , aB , Ba ];//定义一个数组
a . sort();//默认方法排序
console . log(a);//返回数组[Ab , Ba , Ab , bA]。当字母较大时,根据字符编码大小确定JavaScript。为真时,返回1;如果为false,则返回-1。
如果您不想区分大小写,并且大写字母和小写字母的排列顺序相同,您可以设计:
函数f(a,b) {
var a=a.toLowerCase
var b=b.toLowerCase
如果(a b) {
返回1;
}
否则{
return-1;
}
}
var a=[aB , aB , Ba ];//定义一个数组
a . sort();//默认方法排序
console . log(a);//返回数组[aB , aB , bA]。如果要调整排序顺序,只需将返回值设置为反转即可。
示例4
分别显示浮点数和整数。
函数f(a,b){///排序函数
if (a Math.floor(a))返回1;//如果A是浮点数,交换位置
if (b Math.floor(b))返回-1;//如果B是浮点数,交换位置
}
var a=[3.5555,1.23456,3,2.11111,5,7,3];//定义一个数组
a . sort(f);//过滤器
console . log(a);//返回数组[3,5,7,3,2.1111,1.23456,3.5555]。如果要调整排序顺序,只需将返回值设置为反转即可。
【推荐学习:javascript高级教程】以上是JavaScript方法如何排序的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。