js 对象数组乱序

JavaScript014

js 对象数组乱序,第1张

你可以随意 按照一个标准给 数组排序 就行了

比如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))