最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2013年12月24日 14:39:20   作者:  
這篇文章主要介紹了從數(shù)組中隨機取x條不重復數(shù)據(jù)的JS代碼,有需要的朋友可以參考一下

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

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

復制代碼 代碼如下:

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

復制代碼 代碼如下:

/*
隨機從對象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ù)組的重復項

復制代碼 代碼如下:

/*
去除數(shù)組的重復項
 */
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));
}

相關(guān)文章

  • 詳解Javascript?基于長連接的服務框架問題

    詳解Javascript?基于長連接的服務框架問題

    本文針對經(jīng)常使用長連接進行消息收發(fā)的應答場景,采用 Websocket 長連接作為服務監(jiān)聽的對象,模擬了一套類 http 服務框架,通過實例代碼介紹了Javascript?基于長連接的服務框架,需要的朋友可以參考下
    2022-07-07
  • JS中forEach()和map()的區(qū)別講解

    JS中forEach()和map()的區(qū)別講解

    forEach和map方法都是基于數(shù)組的迭代器實現(xiàn)的,它們的主要區(qū)別在于對回調(diào)函數(shù)的處理方式,這篇文章主要介紹了JS中forEach()和map()的區(qū)別,需要的朋友可以參考下
    2024-02-02
  • JS獲取客戶端IP地址、MAC和主機名的7個方法匯總

    JS獲取客戶端IP地址、MAC和主機名的7個方法匯總

    這篇文章主要介紹了JS獲取客戶端IP地址、MAC和主機名的7個方法匯總,JS本身是不支持獲取IP地址等信息的,本文通過其它方法實現(xiàn),需要的朋友可以參考下
    2014-07-07
  • js實現(xiàn)從左向右滑動式輪播圖效果

    js實現(xiàn)從左向右滑動式輪播圖效果

    這篇文章主要為大家詳細介紹了js實現(xiàn)從左向右滑動式輪播圖效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • JavaScript實現(xiàn)串行請求的示例代碼

    JavaScript實現(xiàn)串行請求的示例代碼

    這篇文章主要介紹了JavaScript實現(xiàn)串行請求的示例代碼,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下
    2020-09-09
  • 最新評論

    青田县| 同江市| 长武县| 扶风县| 顺义区| 清流县| 土默特左旗| 珠海市| 沐川县| 通渭县| 改则县| 玉屏| 宝坻区| 和林格尔县| 乃东县| 北京市| 青河县| 宣汉县| 天峨县| 随州市| 阳春市| 乳山市| 石狮市| 平谷区| 新龙县| 乾安县| 文水县| 城固县| 加查县| 海安县| 北安市| 楚雄市| 桃江县| 叶城县| 新建县| 屯门区| 益阳市| 平顺县| 阳山县| 体育| 尤溪县|