Js典型的几个函数

2018-05-29  本文已影响0人  June_Done

自己在练习的过程中,碰到一些典型的函数,在这里记录一下,包括

//1. 获取url中的参数
function showWindowHref(){
    const sHref="http://www.runoob.com/jquery/misc-trim.html?channelid=12333&name=xiaoming&age=23";
    const arr=sHref.split("?")
    const arrnew=arr[1].split("&");
    let obj={};
    for(let i=0;i<arrnew.length;i++){
        const arg=arrnew[i].split("=");
        obj[arg[0]]=arg[1];
    }
    return obj;
}
const href=showWindowHref();
console.log(href['name']);



//2. 每隔五秒运行一次函数直到1分钟停止,或者运行10次,先到的为准
function timeTest(){
const start =new Date(); 
let i=0;
const intervalId=setInterval(function(){
                             let now=new Date();
                             if(now.getMinutes()!==start.getMinutes()||++i>10){
                                return clearInterval(intervalId);
                                }
                             console.log(`${i}:${now}`);
                             
                             },3*1000);
                    }
                             
//3. 倒计时
function countdown(){
    
    console.log("Countdown:")
    for(let i=5;i>=0;i--){    //let必须定义在for里面,定义在外面每次都为-1
       setTimeout(function(){
               console.log(i===0 ? "GO!" :i);
       },(5-i)*1000); 
    }
    
}
  countdown();


//4. 判断数组里出现最多的字符,并统计出来
function arrSameStr(arr){
    
    let obj={};
    for(let i=0;i<arr.length;i++){
        if(!obj[arr.charAt(i)]){
            obj[arr.charAt(i)]=1;
                
        }else{
             obj[arr.charAt(i)]++;
        }
    }   
    console.log(obj);
    let max=0;
    let index='';
    for(let i in obj){
        if(obj[i]>max){
            max=obj[i];
            index=i;
        }
    }
    console.log("出现最多的是: "+index+"次数为"+max);
}
const arr='asdgsasasaaaasssa';
arrSameStr(arr)                              
                              
//5. 去掉一个数组的重复元素
//(方法一)
function delEle(arr){
    let obj={};
    let tmp=[];
    for(let i=0;i<arr.length;i++){
        if(!obj[arr[i]]){
           obj[arr[i]]=1;
            tmp.push(arr[i]);
        }
    }
    console.log(obj);
}
//(方法二:利用filter())
function delEleByFilter(arr){
    let arr1=arr.filter(function(element,index,self){
        return self.indexOf(element)===index;
    });
    console.log(arr1);
}
//(方法三:利用indexOf()没有则返回-1)
function delEleByIndexof(arr){
    let arr1=[];
    for(let i=0;i<arr.length;i++){
        if(arr1.indexOf(arr[i])<0){
            arr1.push(arr[i]);     
        }
       
    }
     console.log(arr1)
}
const arr1=[1,2,2,4,5,5,3,3,3];
delEle(arr1);
delEleByFilter(arr1);
delEleByIndexof(arr1)
上一篇 下一篇

猜你喜欢

热点阅读