js中如何对数组中的数据进行排序,js数组根据属性排序
在上一篇文章中,我们介绍了几种检查所有数组元素是否满足指定条件的方法。有兴趣的可以点击链接查看 《JS数组学习之判断数组元素是不是都满足给定条件》。这一次,我们来谈谈数组排序,介绍一下如何在JavaScript中对数组元素进行排序。
今天这篇文章的主要内容是:按照一定的规则对数组元素进行排序。事不宜迟,下面是数组元素的三种排序方法。
方法1:利用for循环
说到使用for循环进行数组排序,我想到的是冒泡排序。让我们看一下实现代码:
//每轮依次比较相邻两个数的大小,如果后者小于前者,则交换。
var b=0///设置用于交换位置的值。
Var=[1,9,33,2,5,34,23,98,14]//冒泡排序
for(var I=0;ia .长度;i ){
for(var j=0;ja.lengthj ){
if(a[j]a[j 1]){
b=a[j]
a[j]=a[j 1]
a[j 1]=b
}
}
}
Console.log(a)输出结果:
上面的代码是从小到大排序的。如果要从大到小排序,可以添加和修改if语句的判断:
if(a[j]a[j 1]){
.
}
方法2:利用sort() 方法
sort()方法可以根据特定条件对数组元素进行排序。
语法:array.sort([函数])
sort()方法的两种情况:
当方法的参数为空时,数组中的元素按字母顺序从最小到最大排序。
所谓字母顺序,其实就是按照字符编码表中字母的顺序排列,每个字符在字符表中都有唯一的编号。
var a=[e , a , f , b , c , h , g , z , i]
a . sort();//按字母顺序对元素排序
console . log(a);输出结果:
如果元素不是字符串,sort()方法会尝试将所有数组元素转换为字符串进行比较。请注意,当数字按字母顺序排列时,“40”将出现在“5”之前。
var a=[1,2,40,4,5,50,6,7,8]
a . sort();//按字母顺序对元素排序
console . log(a);输出结果:
此时,需要通过一个函数作为参数来调用,也就是下面的第二种情况:
当参数是函数时,数组元素根据函数指定的规则进行排序。
var a=[1,2,40,4,5,50,6,7,8]
排序(函数(a,b){
返回a-b;//从小到大排序
//返回b-a;//从最大到最小排序
});
console . log(a);输出结果:
当数组元素以数字为前缀,以字符串为后缀时,如果希望这些元素按数字排序,需要对匿名函数中的参数做一些修改。
var a=[345px , 23px , 10px , 1000 px ];
排序(函数(a,b){
返回parse int(a)-parse int(b);//从小到大排序
//返回parse int(b)-parse int(a);//从最大到最小排序
});
console . log(a);输出结果:
方法3:利用reverse() 方法
倒序排序不按从小到大(或从大到小)排序数组元素,要怎么排?那么可以使用reverse()方法。
reverse()方法可以颠倒数组元素的顺序。这个方法不需要参数,只需要数组对象。反转()。
var a=[345px , 23px , 10px , 1000 px ];
a . reverse();
console . log(a);输出结果:
说明:
sort()和reverse()方法在原始数组的基础上操作,而不是创建一个新数组;因此,原始数组将被更改。
好了,就这样。有需要的可以看:javascript视频教程。以上是JS中如何按照一定的规则对数组元素进行排序的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。