//随机改变数组的排序 function randomOrder (targetArray) { var arrayLength = targetArray.length //先创建一个正常顺序的数组 var tempArray1 = new Array(); for (var i = 0; i < arrayLength; i ++) { tempArray1 [i] = i } //再根据上一个数组创建一个随机乱序的数组 var tempArray2 = new Array(); for (var i = 0; i < arrayLength; i ++) { //从正常顺序数组中随机抽出元素 tempArray2 [i] = tempArray1.splice (Math.floor (Math.random () * tempArray1.length) , 1) } //最后创建一个临时数组存储 根据上一个乱序的数组从targetArray中取得数据 var tempArray3 = new Array(); for (var i = 0; i < arrayLength; i ++) { tempArray3 [i] = targetArray [tempArray2 [i]] } //返回最后得出的数组 return tempArray3 } //使用实例 var tmp = ["a", "b", "c", "d"]; alert(randomOrder(tmp));