• Js 数组


    一:数组的创建

    var box=new Array();    //1.声明一个数组,空数组,new关键字可以省略
    alert(typeof box);      //数组属于object类型
    
    var box=new Array('张三',18);   //2.创建一个数组,并声明了三个元素
    alert(box);

    var box=new Array(10); //3.创建一个包换10个元素的数组
    var box=[];            //4.字面量的方式创建
    var box=['张三',15];       //字面初始化值

    二:数组元素的添加,获取,修改,长度

    var box=new Array();    //声明一个数组,空数组
    box[0]='张三';          //添加
    alert(box[0]);        //获取
    box[0]='李四';         //修改
    alert(box[0]);
    alert(box.length);    //长度
    box[box.length]='李四';    //使用数组长度来添加元素,永远不会出错

    注:数组初始化的时候不能额外多写','会造成浏览器不兼容

    var box=['张三',15,];    //不能这样写
    var box=[,,,,];       //不能这样写 alert(box.length);
    //3,ie;2,火狐和谷歌.所以不能多写','

    三:数组转换字符串:join

    var box=['张三',15,];
    var box1=box.join('/');
    alert(typeof box);     //object
    alert(typeof box1);        //string  ,将box转换成String类型
    alert(box1);            //张三/15

    四:push(添加:末端),pop(删除:末端) .shift(删除:前端),unshift(添加:前端)

    var box=['张三',15,];
    alert(box.push('','江苏')); //可添加多个,并返回最新数组的长度
    alert(box.pop());           //移除数组末端最后一个元素,并返回该移除的元素
    alert(box.shift());         //移除数组开头的第一个元素,并返回被移除的该元素
    alert(box.unshift('编程'));   //在数组前端添加一个元素,并返回最先长度,在ie下是undefined,不建议使用返回值

    五:排序:reverse,sort

    var box=[1,2,30,9,5];
    alert(box.reverse());           //5,9,30,2,1   将数组翻转了
    alert(box.sort());              //1,2,30,5,9  以第一位数字大小比较,小的排前,大的排后
    alert(box.sort(function(n1,n2){   //从小到达排序
        return n1-n2;                  //如果要从大到小,return n2-n1
    }))

    六:参数截取 contact,slice,splice

    var box=['张三1','张三2','张三3','张三4','张三5','张三6'];
    
    
    //1.concat()  向后面添加新的参数,形成新的数组,可以传多个参数
    alert(box.concat('编程',''));      //张三1,张三2,张三3,张三4,张三5,张三6,编程,男
    
    
    //2.slice(索引值1,索引值二)   
    alert(box.slice(1))            //张三2,张三3,张三4,张三5,张三6  如果只有一个索引值,从这个位置开始到最后的所有参数
    alert(box.slice(1,4))          //张三2,张三3,张三4   从第一个索引开始到第四个索引结束之间的所有参数,取值范围[1,4),包括第一个,不包括第4个
    
    
    //3.splice(索引值,取几个参数)
    alert(box.splice(0));              //所有的参数
    alert(box.splice(0,2));            //张三1,张三2   从第一位开始,取两个参数
    alert(box.splice(1,2));            //张三2,张三3   从第er位开始,取两个参数
    //注:splice有删除功能,原数组将删除splice分割出去的参数

    //4.splice(索引值,删除多少个参数,被新加入的参数);
    box.splice(1,0,'插入的新数据'); //在第一个索引开始,删除0条数据,在第一索引位置添加新的数据

     alert(box);              //张三1,插入的新数据,张三2,张三3,张三4,张三5,张三6

     box.splice(2,3,'新数据'); //在第二个索引开始,删除包括第二条索引开始的三条数据,在第二个索引位置插入新的数据

     alert(box);         //张三1,张三2,新数据,张三6

     

     注:splice,有添加,删除,替换功能

    splice(n1)                    -->如果是只填一个数:从索引值(n1)开始到最后截取之间的所有参数

    splice(n1,n2)                -->如果是填的两个数: 从索引值(n1)开始,取n2个参数

    splice(n1,n2,'参数,可写多个,逗号隔开,也可为空')      -->如果是三个或三个以上

                        -->n1=0,n2=0, 直接在数组最前面添加新的参数(添加)

                        -->n1=数组长度,n2=0, 在数组最末端添加新的参数(添加);

                        -->n1=正整数,n2=0, 在数组n1索引上添加新的参数(添加)

                        -->n1=正整数,n2=1, 在数组n1索引上的参数替换成新的参数(替换)

                        -->n1=正整数,n2>1, 在数组n1索引上开始的参数n2个参数值替换成新的参数(替换)

                        -->n1=正整数,n2=正整数,参数值为空,  在数组n1的索引位置开始删除n2个参数(删除)

  • 相关阅读:
    jmm八大原子操作
    线程状态及各状态下与锁和CPU的关系
    navicat破解
    解析JSON完美案例
    Caused by: java.security.cert.CertificateException: No subject alternative names matching IP address xxx.xx.xx.xx found
    linux修改hosts并立即生效设置
    winows下常用ng命令
    MySql 事务隔离级别简述,以及为什么互联网项目用:读已提交(Read Commited)这个隔离级别
    vite vue webstorm修改代码页面不自动更新
    MySQL 8的递归查询
  • 原文地址:https://www.cnblogs.com/xiaoxinzi/p/8508689.html
Copyright © 2020-2023  润新知