数组排序 反转 拼接

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript">
            
            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);
            
        </script>
    </head>
    <body>
        
    </body>
</html>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容