加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

使用JavaScript生成指定数量的不重复数据的方法

发布时间:2023-09-06 13:59:19 所属栏目:教程 来源:
导读:工作中经常遇到有关数组的一些操作

1. 从数据中随机取x条不重复的数据 (PS:下面的S.each是KISSY.each方法,大家可以改为for循环)

代码如下:

/*

从数组arr中随机取x条不重复的数据

*/

fu
工作中经常遇到有关数组的一些操作
 
1. 从数据中随机取x条不重复的数据 (PS:下面的S.each是KISSY.each方法,大家可以改为for循环)
 
代码如下:
 
/*
 
从数组arr中随机取x条不重复的数据
 
 */
 
 function myRand(arr,num){
 
    var newArr = [];
 
    rand(num);    //随机 x 个
 
    function rand(k){
 
        if(k==0){
 
            return;
 
        }
 
        var index = Math.floor(Math.random() * arr.length);
 
        var flag = true;
 
        S.each(newArr,function(v){
 
            if(v == arr[index]){
 
                flag = false;
 
            }
 
        });
 
        if(flag){
 
            newArr.push(arr[index]);
 
            k--;
 
        }
 
        rand(k);
 
    }
 
    return newArr;
 
 }
 
2.从对象中随机取x条不重复的数据
 
代码如下:
 
/*
 
随机从对象obj中取x条
 
 */
 
function myRand(){
 
    var S = KISSY;
 
    var obj={
 
        '01':{name:'a'},
 
        '02':{name:'b'},
 
        '03':{name:'c'},
 
        '04':{name:'d'},
 
        '05':{name:'e'},
 
        '06':{name:'f'},
 
        '07':{name:'g'},
 
        '08':{name:'h'},
 
        '09':{name:'i'},
 
        '10':{name:'g'}
 
    };
 
    var arr = [];
 
    S.each(obj,function(v,k){
 
        arr.push(k);
 
    });
 
    //随机取3个
 
    var newArr = myRand(arr,3);
 
    S.each(newArr,function(b){
 
        console.log(obj[b]);
 
    })
 
};
 
3. 去除数组的重复项
 
代码如下:
 
/*
 
去除数组的重复项
 
 */
 
function uniqArr(arr){
 
    function toObject(a) {
 
        var o = {};
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章