js php 对数组进行排序
在项目中,我们经常会碰到要求对数组进行排序的需求。
从实现上来说,可以从后端进行排序,也可以前端处理。
先说 用 js 排序 :
例: var arr=[5,7,2,9,1,4,8,11,3,16,6,34,12,45,13,56];
//我们对这串数字进行排序。
for(var x =0; x<arr.length; x++){
for(var y=0; y<x ; y++){
if(arr[x] > arr[y]){
var item = arr[x];
arr[x] = arr[y];
arr[y] = item;
}
}
}
下面来解释下上面的代码,首先,我们对这个arr数组进行了遍历,遍历次数就是数组长度,然后在进行对比
当x = 0 的时候,里面的for 不执行
当x = 1 的时候,y= 0 , 此时, 7>5成立,位置互换, 也就是数组现在变成了 [7,5,2,9,1,4,8,11,3,16,6,34,12,45,13,56]
当x = 2 的时候,y = [0,1] , 此时 ,2 > 7 不成立
2 > 5 不成立 数组顺序不变。
当x = 3 的时候, y = [0,1,2] ........ 以此类推。
这里有一点需要注意,比如。 x = 3 的时候,也就是 9 大于7 ,然后,位置互换, 这时,数组就是一个新的数组的。这时的 arr[3] 的值就不是9了,而是7, 因为数组的值变了,但是这里取得下标是不变的。
还有就是 , 这里的排序方式, 我画了张图 , 首先是 x1 跟 y,比较,满足条件就互换位置。然后x2 跟 y1,比较,满足条件,互换位置,x2 跟 y2 比较.... 注意,当x2跟y1比较换位置后,x2 的数值会变的。

下面是php 数值排序,逻辑是一样的,我就直接贴码了。

浙公网安备 33010602011771号