美文网首页
js 机试题

js 机试题

作者: 中二少爷 | 来源:发表于2018-09-21 15:09 被阅读0次

    1.随机数的公式原理  简述  并解释过程

    基础知识点

    Math.ceil();  //向上取整。

    Math.floor();  //向下取整。

    Math.round();  //四舍五入。

    Math.random();  //0.0 ~ 1.0 之间的一个伪随机数。【包含0不包含1】 //比如0.8647578968666494

    Math.ceil(Math.random()*10);      // 获取从1到10的随机整数 ,取0的概率极小。

    Math.round(Math.random());   //可均衡获取0到1的随机整数

    Math.floor(Math.random()*10);  //可均衡获取0到9的随机整数

    Math.round(Math.random()*10);  //基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半


    funtiongetRandom(istart,iend){

    //为了可以取到100 所以这里 100+1 因为js 这个方法取不到最大的值

    variChoice=istart-iend+1;

    // 公式是  random() * 91 +10 = 101  取到 10 - 101 之间 的随机数  但是取不到 101 可以取到10

    returnMath.floor(Math.random()*iChoice+istart;

    }

    2 .数组对象 排序  去重 

    var arr = [{

                id: 0,

                name: 'tt'

            },

            {

                id: 3,

                name: 'tt1'

            },

            {

                id: 2,

                name: 'tt2'

            },

            {

                id: 0,

                name: 'tt'

            },

        ];

        //js  数组对象 去重 排序 

        function arrSort(arr) {

            // 数组去重 第一种

            //  var result = [];

            //    var obj = {};

            //    for(var i =0; i<arr.length; i++){

            //        if(!obj[arr[i].key]){

            //          result.push(arr[i]);

            //          obj[arr[i].key] = true;

            //        }

            //    }

            //第二种 用对象下的 rr[key] 来判断  rr[key]  对象是可以这样取值的    数组的底层本身就是对象 new Array() 

            var rr = {};

            var arr2 = arr.reduce(function (item, end) { // reduce 是一个函数累加器  从左到右开始缩减 最后返回一个值

                rr[end.name] ? '' : rr[end.name] = true && item.push(end); // 对象中如果有这个key 是true 如果没有 设置true 然后 push

                return item

            }, [])

            // js sort函数方法  用于对数组的元素进行排序 

            arr2.sort(function (ob1, ob2) {

                var val1 = ob1.id;

                var val2 = ob2.id;

                if (val1 < val2) {

                    return -1

                } else if (val1 > val2) {

                    return 1

                } else {

                    return 0

                }

            })

            return arr2

        }

        console.log(arrSort(arr));

    相关文章

      网友评论

          本文标题:js 机试题

          本文链接:https://www.haomeiwen.com/subject/hacanftx.html