对数组或对象进行随机排序

胡说算法 2018-08-22

尽管拿去收藏不用谢

   /**
     * 数组、对象随机排序
     * @param data
     */
    randomArray(data){
        let temp = [];
        let len = data.length;
        if(!len){
            let kAll = Object.keys(data);
            len = kAll.length;
            for(let i = len;i>0;i--){
                let num = Math.random();
                num = Math.floor(num*i);
                temp.push(data[kAll[num]]);
                kAll.splice(num,1);
            }
        }else{
            for(let i = len;i>0;i--){
                let num = Math.random();
                num = Math.floor(num*i);
                temp.push(data[num]);
                data.splice(num,1);
            }
        }
        return temp;
    }

本文由 wenyi 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论