zoukankan      html  css  js  c++  java
  • 四道腾讯的javascript面试题

    今天整理自己的文件夹时,发现了曾经面试腾讯实习生时的被问挂了的面试题,我将它们整理好了供大家借鉴。当时要求的是手写代码。汗啊,我那时弱爆了!

    1,将给定数组转换为一个随机数组

     1 Array.prototype.shuffle=function(){
     2         var resultArr=[];
     3         var len=this.length;
     4 
     5         while(len){
     6             var _index=parseInt(Math.random()*len);
     7                 resultArr.push(this[_index]);//每次取得数组中一个字符,放到新的数组中
     8             for(var i=_index;i<len;i++){//后面的向前移动
     9                 this[i]=this[i+1];
    10             }
    11             len--;
    12         }
    13         return resultArr;
    14     }
    15    var a=new Array('1','2','3','4','5','6');
    16    alert(a.shuffle());

    2,统计给定字符串里的各个字符出现的次数

     1 var a="aassdddffffffffggghhhjjjkkkll";
     2     function counts(str){
     3         var obj={};
     4         for(var i=0;i<str.length;i++){
     5             if(!obj[str[i]]){
     6                 obj[str[i]]=1;
     7             }else{
     8              obj[str[i]]++;
     9             }
    10             
    11         }
    12         return obj;
    13     }
    14 
    15     console.log(counts(a));//Object {a: 2, s: 2, d: 3, f: 8, g: 3…}

     3,判断js代码加载完成

     1 function dynamicLoad()  
     2     {  
     3        var _doc=document.getElementsByTagName('head')[0];  
     4        var script=document.createElement('script');  
     5 
     6         script.setAttribute('type','text/javascript');  
     7         script.setAttribute('src','jquery.js');  
     8 
     9         _doc.appendChild(script);  
    10         //非ie        ie,
    11         script.onload=script.onreadystatechange=function(){  
    12             //非ie               ie,该值不确定        
    13            if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){  
    14              alert('done');  
    15              script.onload=script.onreadystatechange=null;  
    16         }  
    17         }  
    18     }

    4,实现三列布局:

     1 <!DOCTYPE html>
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta charset="utf-8"/>
     5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
     6 <style>
     7 #side { background: #99FF99; height: 300px;  120px; float: left; }
     8 #main { background: #99FFFF; height: 300px;  auto; margin-left: 120px; }
     9 #main-left{ background:red;float:left; 200px; height:300px;}
    10 #main-right{ margin-left:200px; height:300px; auto;}
    11 </style>
    12 </head>
    13 <body>
    14 <div id="side">此处为左边部分</div>
    15 <div id="main">
    16     <div id="main-left">右边的左列</div>
    17     <div id="main-right">右边的右列</div>
    18 
    19 </div>
    20 </body>
    21 </html>

    开心一刻:

  • 相关阅读:
    day16(链表中倒数第k个结点)
    day15(C++格式化输出数字)
    day14(调整数组顺序使奇数位于偶数前面 )
    day13(数值的整数次)
    day12(二进制中1的个数)
    day11(矩形覆盖)
    day10(跳台阶)
    hadoop 又一次环境搭建
    Hive 学习
    hadoop -工具合集
  • 原文地址:https://www.cnblogs.com/wenber/p/3632924.html
Copyright © 2011-2022 走看看