js 机试题

2018-09-21  本文已影响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));

上一篇下一篇

猜你喜欢

热点阅读