js 经常使用的函数重点

sort  排序函数  没有返回值,对原数组进行操作

    //sort 对数组进行排序,不写参数
    // arr1=[1,3,5,9,7,4,2,10];
    // //使用sort进行排序,如果不写参数,按照字母的顺序进行排序,但是对数值会有点问题
    // arr1.sort();
    // console.log(arr1);
    

    //sort 对数组进行排序 ,写参数 回调函数该函数要比较两个值,然后返回一个用于说明两个值的相对顺序的数字
    //若a<b 在排序后的数组中,a应该出现在b之前,则返回一个小于0的值
    //若a=b 在返回0
    //若a>b 则返回一个大于0的值
    arr1=[1,3,9,5,6,7,10,2];
    //这里使用a-b是从小到大排序,b-a侧是从大到小排序
    // arr1.sort(function (a,b){return a-b});   返回 1,2,3,5,6,7,9,10
    arr1.sort(function (a,b){return b-a});    //返回 10,9,7,6,5,3,2,1
    console.log(arr1);

indexof   检索字符串  没检索到  返回-1  

/*indexof函数  返回number 没找到 返回-1
indexof有两个参数,第一个参数 要检索的数值或者字符串必选,第二个参数 可选,从索引第几位开始查找
当第二个参数选择时候,返回检索字符或数值出现的索引位置

*/
 var a='sdfsfs';
 //检索a字符串,中是否有s  从第二位开始找   
 console.log(a.indexOf('s',2));  //返回3
 
    

 利用indexOf函数  给数组去重复

<script>
    arr1=[1,3,8,9,4,8,1,6,4,5];
    arr2=[];
    for(var i=0;i<arr1.length;i++){
        if(arr2.indexOf(arr1[i])>-1){
           continue;
        }
        arr2.push(arr1[i])
    }

    console.log(arr2);
    
</script>

slice函数 

   arrayObject.slice(start ,end)   此方法不会对原数组产生影响,会返回一个新数组。

  

<script>
    arr=[1,4,5,9,8,7,5];

    //slice 不写参数  默认是将元数组复制并返回
    // arr1=arr.slice();
    // arr[0]=12;
    // console.log(arr1,arr);
    
    //slice 写有一个参数,表示,从数组参数索引开始截取至数组的尾部,并返回新数组
    // arr1=arr.slice(3);
    // console.log(arr1);  //输出 9,8,7,5
    //slice写有2个参数  表示从数组参数索引开始窃取至第二个参数索引,并返回新数组
    arr1=arr.slice(2,3);
    console.log(arr1);   //返回数组,值为5
    

    
</script

splice()函数

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

默认不写参数是将原数组删除并将删除的项目在返回给元数组(复制数组)

<script>


    arr=[1,4,5,9,8,7,5];
    //splice只写1个参数  表示从索引0开始  删除1个元素,并改变原数组
    // arr.splice(1);
    // console.log(arr);  //返回1
    //splice两个参数表示 从原数组中索引为0开始 删除一个元素 
    // arr.splice(0,1); 
    // console.log(arr);  //返回 4,5,9,8,7,5
    // //如果第二个参数是0 表示不删除任何元素
    // arr.splice(1,0);  
    // console.log(arr);
    //splice 写有3个以上的函数,表示从原数组中删除从索引第一个参数开始 删除第二个参数的元素
    //,并且用第三个新元素来代替删除的元素

    arr.splice(1,0,'中国','日本');
    console.log(arr);  //返回 1 中国 日本 9875 注意 如果第二位为0 表示不删除 并且添加
    
    
</script>

 join函数

用于把数组中的所有元素放入一个字符串。参数可选,选择使用什么来分割  返回字符串

    arr=[1,4,5,9,8,7,5];
    //join函数  不写参数 默认是以数组的逗号分隔
    // console.log(arr.join());    //返回1,4,5,9,8,7,5

    //join 参数- 表示以横杠分割数组  返回字符串
     console.log(arr.join('-'));   //1-4-5-9-8-7-5

 

concat函数

用于连接两个数组或数值,返回连接数组的副本(引用地址一样)。

 

<script>


    arr=[1,4,5,9,8,7,5];
    arr1=[3,5,8]
    // //concat函数 用于两个数组的连接,返回连接数组的副本,不改变原数组
    // //如果arr索引0 值改变,使用concat连接数组的返回 也会改变
    // arr[0]=10; 
    // console.log(arr.concat(arr1));
    //如果不写参数 返回一个arr数组的副本
    console.log(arr.concat());

    //concat的参数也可以是具体的值,如3 5 6 可以是多个
    console.log(arr.concat(3,5,6));   //返回1,4,5,9,8,7,5,3,5,6
    
    
    
    
</script>

 from 函数 属于es6 中新增的类方法,把对象或者转化成 数组

    var str="zhonghaos";
    console.log(str[0]);  //返回z
    console.log(Array.from(str));   //返回一个zhonguohaos 的数组,字符串也属于对象


    
    

函数中的argumnts  

  

    show(1,2);
    function show(a,b){

        //返回arguments  对象 
        console.log(arguments);
        //返回arguments对象的方法体
        console.log(arguments.callee);

        //把arguments 对象抓换成数组,
        var arr=Array.from(arguments);
        //返回该参数共有几个参数
        console.log(arguments.length);
        //返回aruments对象转换数组后,每个参数的值
        console.log(arr[0],arr[1]);   
        
        
    }

</script>

 split 函数

split() 方法用于把一个字符串分割成字符串数组。 和join 正好相反,join是将数组分割成字符串

语法
stringObject.split(separator,howmany) 

    var str="zhonghaos";
    //以空格的形式分割字符串并返回数组  ["z", "h", "o", "n", "g", "h", "a", "o", "s"]
    console.log(str.split(""));
    str1="a,b,er,hg,sd,s";
    console.log(str1.split(",")); ["a", "b", "er", "hg", "sd", "s"]

 

    //需求 //把上面的url返回对象形式 {id:1356,user:admin,password:123456}

    var url="www.badu.com:8082?id=1356&user=admin&password=123456";
    //我们只适用id=1356&user=admin&password=123456 所以数组从0开始  用第一个
    var arr=url.split("?")[1];
    var str1=arr.split("&");    //返回["id=1356", "user=admin", "password=123456"]
    var obj={};
    for(i=0;i<str1.length;i++){

        var arr1=str1[i].split("=");
        obj[arr1[0]]=arr1[1];
         
    }
console.log(obj);

        

 

 

 

 

 

 

    //案例  封装成方法
    function getObject(url){
        var obj={};
        var arr=url.split("?")[1].split("&");
        for(i=0;i<arr.length;i++){
            var arr1=arr[i].split("=");
            obj[arr1[0]]=arr1[1];
        }
        return obj;
    }

var o=getObject("www.badu.com:8082?id=1356&user=admin&password=123456");
console.log(o);

 

posted @ 2020-06-04 16:37  WhiteSpace  阅读(287)  评论(0编辑  收藏  举报