zoukankan      html  css  js  c++  java
  • 编写一个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源码里的东西进行

    学而不思则罔,思而不结则殆,结而不看,一事无成
  • 相关阅读:
    逆序数 POJ 2299 Ultra-QuickSort
    DP URAL 1244 Gentlemen
    找规律 SGU 107 987654321 problem
    找规律 SGU 126 Boxes
    DP VK Cup 2012 Qualification Round D. Palindrome pairs
    模拟 Coder-Strike 2014
    模拟 Codeforces Round #203 (Div. 2) C. Bombs
    DFS HDOJ 2614 Beat
    最短路(Floyd_Warshall) POJ 2240 Arbitrage
    最短路(Floyd_Warshall) POJ 1125 Stockbroker Grapevine
  • 原文地址:https://www.cnblogs.com/windseek/p/7929224.html
Copyright © 2011-2022 走看看