js数组

js数组操作

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <div class="box">
            
        </div>
        <div id="box"></div>
        <script type="text/javascript">
            let arr=[1,2,3,4];
            let arr2=new Array();//--arr2=[]
            arr2=[5,6,7,8];
            let arr3=new Array(5);//length为5
            
            //unshift(数组的最前面添加)
            arr.unshift('我是前辈');
            console.log('unshift:'+arr);
            
            //push(数组的最后面添加)
            arr.push('我是后辈')
            console.log('push:'+arr);
            
            //shift(数组的最前面删除)
            arr.shift();
            console.log('shift:'+arr);
            
            //pop(数组的最后面删除)
            arr.pop();
            console.log('pop:'+arr);
            
            //spclice(数组指定位置添加和删除、修改)
            arr3.splice(0,0,'我是第一个');//添加
            arr3.splice(1,0,'我是第二个');//添加
            console.log('添加:'+arr3);
            arr3.splice(0,1);//删除第一个数组元素
            console.log('删除:'+arr3);
            arr3.splice(0,1,'我是被迫修改的');//此时第二个的下标已经变成0了
            console.log('修改:'+arr3);
            
            //slice(数组的截取)
            let newArr=arr.slice(0);//截取所有
            console.log('截取:'+newArr);
            
            //join(数组元素的拼接)
            let newArr2=arr.join('---');//用---拼接
            console.log('元素拼接:'+newArr2);
            
            //concat(数组之间的拼接)
            let newArr3=arr.concat(arr2,arr3);//拼接arr和arr2和arr3数组
            console.log('数组拼接:'+newArr3);
        </script>
    </body>
</html>

数组:添加-->前unshift  后push

          删除-->前shift           后pop

          指定-->splice

          截取-->slice

          拼接-->concat  join

          排序-->sort

   反转-->reverse

 

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            let arr=[9,4,2,3,8,5]
            // alert(arr.sort());//2,3,4,5,8,9
            let arr2=[5,43,3,2,100,8,6,200];
            // alert(arr2.sort())
            //数组排序,字符串比较,注意是toString(),为了解决这种问题,sort允许接收一个比较函数
            //升序
            let rise=function(a,b){
                return a-b;    //因为sort的本质是升序,a-b==-1 a在b的前面
            }
            // alert(arr2.sort(rise));
            
            //降序
            let drop=function(a,b){
                return b-a;    //因为sort的本质是升序,b-a==1 a在b的后面
            }
            // alert(arr2.sort(drop));
            
            // 还可以这样写
            //升序
            function riseOf(value1,value2){
                if(value1>value2){
                    return 1;
                }else if(value1==value2){
                    return 0;
                }else if(value1<value2){
                    return -1;
                }
            }
            //alert(arr2.sort(riseOf));
            //降序
            function dropOf(value1,value2){
                if(value1>value2){
                    return -1;
                }else if(value1==value2){
                    return 0;
                }else if(value1<value2){
                    return 1;
                }
            }
            alert(arr2.sort(dropOf));
            //说明-1表示第一个值位于第二个值的前面
            //1表示第一个值位于第二个值的后面
            //0表示相等,位于第一个值的后面
        </script>
    </body>
</html>

reverse(可以先排序,再反转就可以得到了升序或者降序)

let arr=[1,5,6,43,3];
arr.reverse();
alert(arr);

 

越难办到的事越有价值
原文地址:https://www.cnblogs.com/luyuandatabase/p/11412218.html