时间:2021-05-25
工作中经常遇到有关数组的一些操作
1. 从数据中随机取x条不重复的数据 (PS:下面的S.each是KISSY.each方法,大家可以改为for循环)
复制代码 代码如下:
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条不重复的数据
复制代码 代码如下:
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 = {};
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));
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
复制代码代码如下://////生成不重复随机数列表实例//////不重复数数量///不重复数列表privatestaticListGetRandomList(i
JS生成不重复的随机数组的简单实例//获取数组中的随机数//HF.Math.RandomNumbers是前缀,可以自己定义,主要看逻辑代码HF.Math.Ran
本文实例讲述了JS实现的数组去除重复数据算法。分享给大家供大家参考,具体如下:在JS中经常会遇到去除数组中重复数据的需求,在此介绍四种算法以实现JS数组去重的功
本文实例讲述了php从数组中随机选择若干不重复元素的方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:
本文实例为大家分享了js取0-9随机取4个数不重复的数字的具体代码,供大家参考,具体内容如下htmlscriptfunctionf1(){vararr_4=ne