zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    Ubuntu中VisualBox无法识别USB设备
    SpaceVim的基本安装和常见问题
    Linux下配置ssh免密远程登录
    PhantomJS在Selenium中被标记为过时的应对措施
    Linux下Vim编辑器访问系统剪切板
    Linux下将使用rm删除的文件显示在回收站中
    Java基础之创建窗口——使用卡片布局管理器(TryCardLayout)
    Java基础之创建窗口——使用边界布局管理器(TryBorderLayout)
    Java基础之创建窗口——使用流布局管理器(TryFlowLayout)
    Java基础之创建窗口——颜色和光标(TryWindow4)
  • 原文地址:https://www.cnblogs.com/xiaowie/p/13044465.html
Copyright © 2011-2022 走看看