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);    
}

 

posted @ 2016-01-08 10:21  霏霏雪无声  阅读(768)  评论(0编辑  收藏  举报