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个参数(删除)

原文地址:https://www.cnblogs.com/xiaoxinzi/p/8508689.html