JS 在指定数组中随机取出N个不重复的数据

简介: //从一个给定的数组arr中,随机返回num个不重复项function getArrayItems(arr, num) {    //新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组;    var temp_array = new Array();    for (var index in arr) {        temp_array.
<script language="javascript">
// 从一个给定的数组arr中,随机返回num个不重复项
function getArrayItems(arr, num) {
     // 新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组;
     var temp_array =  new Array();
     for ( var index  in arr) {
        temp_array.push(arr[index]);
    }
     // 取出的数值项,保存在此数组
     var return_array =  new Array();
     for ( var i = 0; i<num; i++) {
         // 判断如果数组还有可以取出的元素,以防下标越界
         if (temp_array.length>0) {
             // 在数组中产生一个随机索引
             var arrIndex = Math.floor(Math.random()*temp_array.length);
             // 将此随机索引的对应的数组元素值复制出来
            return_array[i] = temp_array[arrIndex];
             // 然后删掉此索引的数组元素,这时候temp_array变为新的数组
            temp_array.splice(arrIndex, 1);
        }  else {
             // 数组中数据项取完后,退出循环,比如数组本来只有10项,但要求取出20项.
             break;
        }
    }
     return return_array;
}

// 测试
var ArrList=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33];
alert(getArrayItems(ArrList,6));
</script>
目录
相关文章
|
1月前
|
数据采集 存储 JavaScript
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
本文介绍了如何使用Puppeteer和Node.js爬取大学招生数据,并通过代理IP提升爬取的稳定性和效率。Puppeteer作为一个强大的Node.js库,能够模拟真实浏览器访问,支持JavaScript渲染,适合复杂的爬取任务。文章详细讲解了安装Puppeteer、配置代理IP、实现爬虫代码的步骤,并提供了代码示例。此外,还给出了注意事项和优化建议,帮助读者高效地抓取和分析招生数据。
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
|
2月前
|
前端开发 JavaScript
JS-数据筛选
JS-数据筛选
34 7
|
2月前
|
自然语言处理 前端开发 JavaScript
🛠️ JavaScript数组操作指南:20个精通必备技巧🚀
本文详细介绍了 JavaScript 中的 20 个高效数组操作技巧,涵盖了从基本的添加、移除元素,到数组转换和去重等高级操作。强调了不可变性的重要性,提供了清晰的代码示例,帮助开发者编写更整洁和高效的代码。无论是新手还是经验丰富的开发者,这些技巧都将显著提升您的编码能力,使您在项目中更具竞争力。
34 2
|
2月前
|
JavaScript 前端开发 测试技术
JS都有哪些操作数组的方法
JS都有哪些操作数组的方法
27 3
|
2月前
|
JavaScript 数据安全/隐私保护
2024了,你会使用原生js批量获取表单数据吗
2024了,你会使用原生js批量获取表单数据吗
53 4
|
2月前
|
JavaScript
js删除数组中已知下标的元素
js删除数组中已知下标的元素
39 4
|
2月前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
42 1
|
2月前
|
JavaScript 前端开发 Java
【javaScript数组,函数】的基础知识点
【javaScript数组,函数】的基础知识点
27 5
|
2月前
|
JavaScript 前端开发 索引
JS 删除数组元素( 5种方法 )
JS 删除数组元素( 5种方法 )
48 1
|
2月前
|
JavaScript 前端开发 API
JS中数组的方法flat()怎么用
JS中数组的方法flat()怎么用
21 0