leiyanting

导航

 
var arr = ["孙悟空","猪八戒","沙和尚"];
            var arr2 = ["白骨精","玉兔精","蜘蛛精"];
            var arr3 = ["二郎神","太上老君","玉皇大帝"];
            
            /*
             * concat()可以连接两个或多个数组,并将新的数组返回
             *     - 该方法不会对原数组产生影响
             */
            var result = arr.concat(arr2,arr3,"牛魔王","铁扇公主");
            
            /*
             * join()
             *     - 该方法可以将数组转换为一个字符串
             *     - 该方法不会对原数组产生影响,而是将转换后的字符串作为结果返回
             *     - 在join()中可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符
             *         如果不指定连接符,则默认使用,作为连接符
             */
            arr = ["孙悟空","猪八戒","沙和尚","唐僧"];
            
            result = arr.join("@-@");
            /*
             * reverse()
             *     - 该方法用来反转数组(前边的去后边,后边的去前边)
             *     - 该方法会直接修改原数组
             */
            
            arr.reverse();
            
            //console.log(arr);
            
            arr = ["b","d","e","a","c"];
            
            /*
             * sort()
             *     - 可以用来对数组中的元素进行排序
             *     - 也会影响原数组,默认会按照Unicode编码进行排序
             */
            arr.sort();
            //arr.reverse();
            
            /*
             * 即使对于纯数字的数组,使用sort()排序时,也会按照Unicode编码来排序,
             *     所以对数字进排序时,可能会得到错误的结果。
             * 
             * 我们可以自己来指定排序的规则
             *     我们可以在sort()添加一个回调函数,来指定排序规则,
             *         回调函数中需要定义两个形参,
             *         浏览器将会分别使用数组中的元素作为实参去调用回调函数
             *         使用哪个元素调用不确定,但是肯定的是在数组中a一定在b前边
             *     - 浏览器会根据回调函数的返回值来决定元素的顺序,
             *         如果返回一个大于0的值,则元素会交换位置
             *         如果返回一个小于0的值,则元素位置不变
             *         如果返回一个0,则认为两个元素相等,也不交换位置
             * 
             *     - 如果需要升序排列,则返回 a-b
             *         如果需要降序排列,则返回b-a
             */
            arr = [5,4,2,1,3,6,8,7];
            
            arr.sort(function(a,b){
                
                //前边的大
                /*if(a > b){
                    return -1;
                }else if(a < b){
                    return 1;
                }else{
                    return 0;
                }*/
                
                //升序排列
                //return a - b;
                
                //降序排列
                return b - a;
                
            });
            
            console.log(arr);

 

posted on 2021-08-31 09:35  leiyanting  阅读(37)  评论(0)    收藏  举报