javaScript--数组
1.数组
Array类型是很常用的类型.虽然和其他语言中的数组一样都是数据的有序列表,但ECMAScript中的数组还是有很大不同的.首先ECMAScript中的数组可以存放任何类型的数据(字符串,数字,对象,数组,函数...),其次ECMAScript中的数组大小是可以动态调整的.可以随着数据的增加二自动增长,以容纳新的数据!
2.数组的创建
字面量
var arr = []; //声明一个空数组 var arr1 = [1,2,3]; //声明一个有3个数字的数组,长度为3 var arr2 = [4,5,6,,,,,] //千万不要这样写!这样写会有BUG!
Array构造函数
var arr3 = new Array(); //创建了一个空数组,等同于 var arr3 = []; var arr4 = new Array(5); //创建了一个长度为5的数组; var arr5 = new Array("1","2","3"); 创建了一个有3个字符串的数组;
3.数组的方法
arr.unshift(1,"123"); //在数组开头添加数据。可以是散的值,如果是多个用逗号隔开;返回值:是新数组的长度length。 arr.shift(); //删除数组第一项,不用写参数;返回值是删除项的值 arr.push("1"); //在数组的最后一项添加数据,参数是想要添加的数据;返回值是新数组的长度length. arr.pop(); //删除数组的最后一项,不用写参数,返回值是删除项的值 //数组合并方法,参数写要合并的值;可以使散的值,也可以直接书写数组字面量;返回值:合并之后的数组; 原数组不会改变 arr.concat([8,9] , 10);
//截取数组中某一段,第一个参数表示要截取数组开始项的索引值,Start;第二个参数表示要截取数组结尾项的索引值,end;参数可以书写负值表示倒数(最后一项表示-1) //可以省略不写end表示截取到最后(可以是正或者负数)截取之后的结果包括start不包括end,start < end;返回值:截取到的数组;原数组不会发生改变 arr.slice(2,5); //数组的删除、插入、替换的方法,前两个参数必须书写. //第一个参数:index 表示删除项的索引值(或者是插入数据的索引值) //第二个参数:howmany 表示删除的个数。如果是0表示没有删除任何项,进行插入操作;后面的参数:表示要插入或者替换的元素。可以省略,表示删除 //返回值:删除数据组成的数组,如果没有删除数据返回空数组。 arr.splice(index,howmany,1,2); //数组的倒序和排序,原数组会发生改变,返回值:倒叙后的数组; arr.reverse() // 倒序排序 //排序,可以不书写参数,按照字符编码编码进行排序。数字 大写字母 小写字母;将数组中每一项先转为字符串然后按照字符编码进行排序,从小到大.返回值:排序后的数组 arr.sort()
// 自定义降序排序 var arr = [10000000,4,56,900,37,67,56];
var arrNew = arr.sort(function (a , b){ if(a > b){
return -1; }else if(a == b){ return 0; }else{ return 2; } }); console.log(arrNew); //将数组转为字符串,可以省略,表示数组中每一项之间用逗号连接,转为字符串,还可以书写要拼接的连字符,表示以书写的该字符进行拼接。返回值:连接后的字符串 var arr = [10000000,4,56,900,37,67,56]; var string = arr.join(); // 10000000,4,56,900,37,67,56 默认是逗号分割 var str = arr.join("-"); // 10000000-4-56-900-37-67-56