比如a是的你的数组 然后根据a数组里面每个对象的id属性排序:
var a = []
a.sort(function (o, p) {
return o.id - p.id
})
Math.random() 函数返回一个浮点, 伪随机数在范围[0,1)。所以,得到一个两数之间的随机数,范围 [min,max):
得到一个两数之间的随机整数,包括两个数在内:
不要JS自己的方法?
下面是一个快速排序算法的JS实现:
var arr = [1,4,2,5,7]function QuickSort(arr){
if (arr.length <= 1){
return arr
} else if (arr.length === 2) {
if (arr[0] <= arr[1]) return arr
else return [arr[1], arr[0]]
} else {
var rndIndex = (Math.random() * arr.length) | 0
var mid = arr[rndIndex]
arr.splice(rndIndex, 1)
var left = [], right = []
for (var i=arr.length-1 i>-1 i--) {
if (arr[i] <= mid) left.push(arr[i])
else right.push(arr[i])
}
return QuickSort(left).concat(mid, QuickSort(right))
}
}
alert(QuickSort(arr))