一。什么是数组
数组是一堆类型相同的变量的集合。包括数组名和数组元素
数组名:集合的命名;(名字而已,随便取,为了维护性,尽量简洁明白)
数组元素:组成数组的各个变量;(元素都是有序的排列在数组中)
数组下标:在数组中元素的位置,一般第一个元素的下标为0,第二个为1。。。。以此类推
数组的长度:数组的项数保存在其length 属性中,可以用 数组名.length来获得数组长度(可读可写)
二。JavaScript中的数组
1.JavaScript作为一个面向对象型语言,数组也作为一个对象 --------> Array类型的对象
2.作为数组,js中的数组具有数组应有的特性,但是也有和其他语言不同之处
(1)ECMAScript 数组的每一项可以保存任何类型的数据。也就是说,可以用数组的第一个位置来保存字符串,用第二位置来保存数值,用第三个位置来保存对象,而且,ECMAScript 数组的大小是可以动态调整的,即可以随着数据的添加自动增长以容纳新增数据,这是其他语言所不能的(js是一种弱语言)
(2),js中的数组是引用类型,有点类似与c语言的指针。
3.创建数组的方法:js创建数组有两种方法:
第一种使用Array 构造函数
var colors = new Array();
var colors=new Array(20);//若只有一个参数(并且这个参数为数字,),表示数组长度
var colors=new Array(‘20‘);//若只有一个参数(但是这个参数为字符串,),表示数组元素为’20‘;
var colors=new Array(1,2,3,4);
var colors=new Array('1','2','3','4');
以上这些还可以省略new操作符,效果一样
第二种:使用数组字面量表示法。数组字面量由一对包含数组项的方括号表示,多个数组项之间以逗号隔开,(这个方法用的比较多)
var colors = ["red", "blue", "green"]; // 创建一个包含3 个字符串的数组
var names = []; // 创建一个空数组
var values = [1,2,]; // 不要这样!这样会创建一个包含2 或3 项的数组
var options = [,,,,,]; // 不要这样!这样会创建一个包含5 或6 项的数组
4.数组方法
(1)push()和pop()推入和弹出
push()方法可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
pop()方法则从数组末尾移除最后一项,减少数组的length 值,然后返回移除的项。
(2)shift()和unshift()
unshift(),它能在数组前端添加任意个项并返回新数组的长度
shift(),它能够移除数组中的第一个项并返回该项
(3)reverse()和sort()
reverse(),它能够反转数组,
sort(),它能够给数组排序
从小到大:数组名.sort(function(a,b){
return a-b;
})
从大到小:数组名.sort(function(a,b){
return b-a;
})
(4)splice();返回值是被删除的元素组成的数组
这个是一个全能的函数,基本上可以做到增删改
增:splice(参数1,0,参数3)增需要三个参数,参数1表示要增加的位置,参数2为0,参数3表示增加的内容
删:splice(参数1,参数2);删除只要两个参数,参数1表示要删除的元素开始位置1参数2表示要删除元素的个数
改:splice(参数1,参数2,参数3)改需要三个参数,参数1表示要替换的元素开始位置,参数2表示要替换元素的个数,参数3表示要替换的内容;
----------------------------------------------------------------------------------------------------------------------2017,9.3
(5)split(参数)
字符串转数组,将字符串按某个字符(按参数)切割成若干个字符串,并以数组形式返回
var string="1-2-3-4-5";
var arr=string.split('-');
alert(arr);//arr是一个数组,内容[1,2,3,4,5];
(6)join(参数)
数组转字符串,需要将数组元素用某个字符连接成字符串,返回一个字符串
var arr=[1,2,3,4,5];
var string=arr.join('-');
alert(string);//string是一个字符串,内容"1-2-3-4-5";
(7)substring(参数1,参数2);
提取字符串中介于两个指定参数下标之间的字符。