JS 对数组的常用处理
首先写游戏的时候,JSON字符串转成OBJECT的时候,希望做个数组随机排序的方法如下:
//用Math.random()函数生成0~1之间的随机数与0.5比较,返回-1或1 function randomsort(a, b) { return Math.random()>.5 ? -1 : 1; } var arr = [1,2,3,4]; var arr2 = arr.sort(randomsort);
此方法如果不太实用的时候,请使用此版
//随机改变数组的排序 function randomOrder (targetArray) { var arrayLength = targetArray.length; //先创建一个正常顺序的数组 var tempArray1 = []; for (var i = 0; i < arrayLength; i ++){ tempArray1 [i] = i } //再根据上一个数组创建一个随机乱序的数组 var tempArray2 = []; for (var x = 0; x < arrayLength; x ++) { //从正常顺序数组中随机抽出元素 tempArray2 [x] = tempArray1.splice (Math.floor (Math.random () * tempArray1.length) , 1) } //最后创建一个临时数组存储 根据上一个乱序的数组从targetArray中取得数据 var tempArray3 = []; for (var y = 0; y < arrayLength; y ++){ tempArray3 [y] = targetArray [tempArray2 [y]] } //返回最后得出的数组 return tempArray3 }
上例用法 randomOrder([1,2,3,4,5,6,7]);
最常用的根据下标,删除数组中某一个对象或数字。常用ng删除某条类目。
var a = [1,2,3,4,5,6]; function delItem(index){ a.split(index,1); }