原生函数笔试题

 

1.简单的数组排序 sort()
 var Arr1=[4,8,5,9,6,1,36]
 var arrSo = Arr1.sort()
// console.log(arrSo)
2.数组自定义排序
 var Arr2 = [4,8,5,9,6,1,36]
 Arr2.sort(function(a,b){
      return a-b;
 })
// console.log(Arr2)

3.截取字符 'adfkwol'中的‘kwo’

var str = 'adfkwol'
if(/kwo/.test(str)){
     var str1 = str.substr(str.indexOf('kwo'),3)
     document.write(str1)
}

4.判断数组中是否有1,如果没有添加进去
var arrr=[5,7,9,6,30]
for(var i=0;i<arrr.length;i++){
   if(arrr[i]!==1){
       arrr.push(1)
       break;
    }
}

5 对数组.array1 = [1,2,3,4,2,'hello',111,222,4,3,55,'hello']操作,去掉重复元素

var array1 = [1,2,3,4,2,'hello',111,222,4,3,55,'hello']
var newArr = []
    for(var i=0;i<array1.length;i++){
       if((newArr.indexOf(array1[i]))==-1){
       newArr.push(array1[i])
       }
   }
//console.log(newArr)

6.判断一个字符串中出现最多次数的字符,并得出次数
function mystr(a){
      var newstr={}
      for(var i=0;i<a.length;i++){
      var key1 = a[i]
     if(!newstr[key1]){
          newstr[key1] = 1;
     }else{
        newstr[key1]++;
     }
}

var max = 0;
var max_key = '';
var key1;
for(key1 in newstr){
    if(newstr[key1]>max){
          max = newstr[key1];
          max_key = key1
      }
}
// console.log("max_key:"+max_key+' max:'+max)
}

var str='asdsasas'
mystr(str)

7.编写一个函数,接受数字类型的参数10个,函数返回执行结果为所有参数的平均值,如果输入其他类型的参数则报错

 

function tex(){
//1.判断参数的长度
var sum=0;
var leng = arguments.length
if(leng>=10){
   for(var i=0;i<10;i++){
//2.判断数据类型
      if((typeof arguments[i])=='number'){
          sum+=arguments[i]
      }else{
         throw new Error('数据类型错误')
      }
     }
return sum;
}else{
    throw new Error('输入个数不符合规则')
}
}
// console.log((tex(1,2,3,4,5,6,7,8,9,10))/10);

9.一个函数接受任意数量的参数,如果传递过来参数都是数组,则进行数组合并(不要求去重),返回合并之后的新数组;

如果传递过来的都是字符串,则进行字符串连接,返回连接之后的字符串;如果传递过来的参数不符合上述两种条件,则报错。

 

function myArry(){
var arr=[];
var str='';
var sum=0;
var stm =0;

var len= arguments.length;

for(var n=0;n<len;n++ ){

     if(arguments[n] instanceof Array){
          sum++;
     }else if((typeof arguments[n]) == 'string'){
          stm++;
     }else{
     throw new Error('错误')
     }

     }

     if(sum==len){
          for(var i=0;i<len;i++){
              arr=arr.concat(arguments[i])
           }
          return arr;

    }else if(stm==len){
         for(var s=0;s<len;s++){
              str+=arguments[s]

 

        }
    return str;
    }else{
     throw new Error('错!')
   }
}
// console.log(myArry("1","2","3"))

10.求一个字符串字节的长度
function strlg(str){
    var len = str.length;
    var bylen = len;
    for(var i=0;i<len;i++){
         if(str.charCodeAt(i)>225){
         bylen++;
    }
}
   // console.log(bylen)
}
var str = 'hello'
strlg(str)

 

 

posted @ 2017-09-12 20:57  小lv豆  阅读(139)  评论(1编辑  收藏  举报