编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。

今天看到一道题目,说是为什么自己前端不值钱?然后还不怎么相信,就试着做了做题目,然后。。。。。。

好吧,经过,30分钟的磨合,写出了一些健壮的代码

function c(n){
    //判断数组里是否包含一个某一项值
    function contains(arr,item){
        var flag=false;
        for(var i=0;i<arr.length;i++){
            if(arr[i]==item){
                flag=true;
            }
        }
        return flag;
    }
    //创建随机数组
    function arrCreate(arr,n){
        while(arr.length<n){
            //随机整数(2,32)
            item=Math.floor(Math.random()*(32-2)+2)
            if(!contains(arr,item)){
                arr.push(item);
            }
        }
    }
    //判断参数类型
    function type(n){
        var class2type = {}
        var objs = "Boolean Number String Function Array Date RegExp Null Undefined".split(" ");
        for (var i = 0, l = objs.length; i < l; i++) {  
            class2type[ "[object " + objs[i] + "]" ] = objs[i].toLowerCase();  
        } 
        return class2type[Object.prototype.toString.call(n)];
    }
    var arr=[];
    if(type(n)!='number'){
        throw("您传入的不是数字类型请传入数字类型的参数")
    }
    arrCreate(arr,n);
    return arr;
}
console.log(c(5));

判断参数类型的时候我利用的jquery源码里的东西进行

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏苦逼的码农

从0打卡leetcode之day 5 ---两个排序数组的中位数

最简单粗暴的就是把这两个数组头尾连接起来,然后重新给他们排序一下,冒泡排序相信你信手拈来,当然,你也可以装逼用快速排序。

911
来自专栏Vamei实验室

Python补充05 字符串格式化 (%操作符)

在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出。Python中内置有对字符串进行格式化的操作%。 模板 格式化字符串时...

1919
来自专栏张俊红

python数据分析笔记——数据加载与整理

Python数据分析——数据加载与整理 总第47篇 ▼ ? (本文框架) 数据加载 导入文本数据 ? 1、导入文本格式数据(CSV)的方法: 方法一:使用pd....

3438
来自专栏闵开慧

$.each()与$(selector).each()区别详解

$.each()与$(selector).each()不同, 后者专用于jquery对象的遍历, 前者可用于遍历任何的集合(无论是数组或对象),如果是数组,回...

35512
来自专栏达摩兵的技术空间

与我一起学正则

1、校验密码强度 密码的强度必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间 ^(?=.\d)(?=.[a-z])(?=.*[A-Z])...

613
来自专栏小詹同学

Leetcode打卡 | No.20 有效的括号

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。

662
来自专栏緣來來來

Python爬虫--- 1.4 正则表达式:re库

这里其实就是一个非常简单的删除当前目录下所有txt文件的命令, *号其实就一个 ‘通配符’。表示任何形式的数据。 从这里我们就可以引出正则表达式的概念:

521
来自专栏CVer

Python Numpy学习教程(一)Python篇

通知:这篇文章主要简单介绍Python的基本数据结构、容器、列表、字典、集合、元组、函数和类等知识点 Python Numpy学习教程 Author: ...

56814
来自专栏Python爬虫与数据挖掘

Python正则表达式的简单应用和示例演示

前一阵子小编给大家连续分享了十篇关于Python正则表达式基础的文章,感兴趣的小伙伴可以点击链接进去查看。今天小编给大家分享的是Python正则表达式的简单应用...

1044
来自专栏韦弦的微信小程序

Swift 字符串中的第一个唯一字符 - LeetCode

1、将字符串转为数组 2、循环字符串数组,将字符作为键,索引作为值存入字典 3、存入字典时先判断是否已经存在,已存在则将值置位-1 4、循环字典,拿到所有...

681

扫码关注云+社区