源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

从数组中随机取x条不重复数据的JS代码

  • 时间:2021-12-16 03:53 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:从数组中随机取x条不重复数据的JS代码
工作中经常遇到有关数组的一些操作 1. 从数据中随机取x条不重复的数据 (PS:下面的S.each是KISSY.each方法,大家可以改为for循环)
[u]复制代码[/u] 代码如下:
/* 从数组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条不重复的数据
[u]复制代码[/u] 代码如下:
/* 随机从对象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. 去除数组的重复项
[u]复制代码[/u] 代码如下:
/* 去除数组的重复项  */ 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)); }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部