国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

從數(shù)組中隨機取x條不重復(fù)數(shù)據(jù)的JS代碼

2019-11-20 21:23:49
字體:
供稿:網(wǎng)友

工作中經(jīng)常遇到有關(guān)數(shù)組的一些操作

1. 從數(shù)據(jù)中隨機取x條不重復(fù)的數(shù)據(jù) (PS:下面的S.each是KISSY.each方法,大家可以改為for循環(huán))

復(fù)制代碼 代碼如下:

/*
從數(shù)組arr中隨機取x條不重復(fù)的數(shù)據(jù)
 */
 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條不重復(fù)的數(shù)據(jù)

復(fù)制代碼 代碼如下:

/*
隨機從對象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. 去除數(shù)組的重復(fù)項

復(fù)制代碼 代碼如下:

/*
去除數(shù)組的重復(fù)項
 */
function uniqArr(arr){
    function toObject(a) {
        var o = {};
        for (var i=0, j=a.length; i<j; i=i+1) {
            o[a[i]] = true;
        }
        return o;
    };
    function keys(o) {
        var a=[], i;
        for (i in o) {
            if (o.hasOwnProperty(i)) { // 這里, YUI源碼中是lang.hasOwnProperty(o, i)
                a.push(i);
            }
        }
        return a;
    };
    return keys(toObject(arr));
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 元谋县| 渭源县| 永定县| 宾川县| 三江| 棋牌| 嵊泗县| 若尔盖县| 舞钢市| 阜康市| 山东省| 隆德县| 安图县| 达拉特旗| 汝州市| 长乐市| 桐柏县| 绥江县| 灵山县| 肇源县| 连南| 衢州市| 罗定市| 晋中市| 钟山县| 瑞丽市| 宜宾市| 会泽县| 德清县| 东安县| 莲花县| 宜兰市| 通许县| 巴青县| 河西区| 会东县| 衡山县| 曲阜市| 繁峙县| 黔江区| 拜泉县|