继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

前端笔试部分试题

jokerW
关注TA
已关注
手记 25
粉丝 6
获赞 44

近三天,参加了几场面试及笔试,考察javaScript基础,现回顾了部分试题:

1、js中 “5”+4=?//"54"

2、js中void(0)=?//undefined

3、js中NaN*4=?//NaN

4、js中alert(5*015===5.075)//false

5、js中null*4.5=?//0

6、js中13>>2=? -13>>2=?//3   -4

7、js中13|5=? 13&5=?//13   5

8、js中hello world,实现hello+1 world+1?

var str='hello world';

 function jNum(arr){

      var arr=str.split(/\s+/);

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

          arr[i]+="+1";

     }

          return arr.join(' ');

}

9、js中统计一个字符串出现最多的字母

var str="abcdefwwwwwww";

        var arr=str.split("");  // 转换为数组

        arr=arr.sort(); // 排序

        var c=1;    // 记录出现次数

        var arr1=[];    

        var maxmore="";

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

            if(arr[i]===arr[i+1]){

                maxmore=arr[i];

                c++;

            }

            else{

                arr1[c]=maxmore;

                c=1

            }

        }

        console.log('最多的字母'+maxmore);

        console.log('最多的字母次数'+ (arr1.length-1));

10、js中实现数组去重

//方法一:利用对象的键值对

function unique(arr){

     if (!Array.isArray(arr)) return arr;

     var o={};

     var res=[];

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

         if(!o[arr[i]]){

         o[arr[i]] = 1;

         res.push(arr[i]);

         }

     }

     return res;

}

//方法二利用indexOf判断是否存在于新数组中,不存在则push到新数组,最后返回新数组

function unique(arr){

     if (!Array.isArray(arr)) return arr;

     var res=[];

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

         if(res.indexOf(arr[i])==-1){

         res.push(arr[i]);

         }

     }

     return res;

}

方法三:利用filter

function unique(arr){

    return arr.filter((item,i)=>arr.indexOf(item)===i);

}

//方法四:利用 ES6 的 Set 对象 和 Array.from 方法

function unique(arr){

     if (!Array.isArray(arr)) return arr;

     if (arr.length < 2) return arr;

     return Array.from(new set(arr));

}

//方法五:思路是先把数组排序,然后比较相邻的两个值

function unique(arr){

     var res=[];

     if (!Array.isArray(arr)) return arr;

     arr.sort();

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

         if(arr[i]!==arr[i+1]){

         res.push(arr[i]);

         }

     }

     return res;

}

11、js中ab变量交换,不使用中间变量?

    //方法一,巧用数组

        function swap(){

            var a = 1, b = 2;

            a=[b,b=a][0]

            console.log("a="+a);

            console.log("b="+b);

        }

//方法二,解构赋值

        function swap(){

            let a = 1,b = 2;

            [a,b] = [b,a];

            console.log("a="+a);

            console.log("b="+b);

       }

 //方法三,数学运算

        function swap(){

            let a = 1,b = 2;

            a = a + b;//a=3,b=2

            b = a - b;//a=3,b=1

            a = a - b;//a=2,b=1

            console.log("a="+a);

            console.log("b="+b);

        }

12、js中实现字符串倒序排列

//利用数组的反转方法

var num = 123456789;

function rev(){

     var str = num+"";

     return str.split("").reverse().join("");

}

console.log(rev(num));

13、js中循环方式替换空白字符

// 循环方式替换空白字符

    var str = " cba   xyz m      n   r   ttt";

    var res = "";

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

        var c = str.charAt(i);

        res += c.trim();

    }

    console.log(res);

以上部分试题及答案,如有不当之处,请指正,谢谢!

                    


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP