JavaScript数组这种数据类型可以在一个变量里保存多个值,每个值都有一个数值的索引,而且能够保存任何数据类型,比如布尔值、数值、字符串、对象,甚至是其它数组也可以。
创建新数组
创建数组的语法并不新奇,在C#里面是 :
int[] array = new int[20];
而JavaScript是:
var myArray = new Array();
当然,创建数组还可以使用另外一种方便的形式:
var myArray = [];
初始化数组
var myArray = ['Monday', 'Tuesday', 'Wednesday'];
或者是在数组创建之后,再添加元素数据:
var myArray = [];
myArray[0] = 'Monday';
myArray[1] = 'Tuesday';
myArray[2] = 'Wednesday';
注意: 数组都有一个length属性,表示数组包含了多少项,这个属性是自动更新的,
所以我们在数组添加元素时就可以这样:
myArray[myArray.length] = 'Monday';
myArray[myArray.length] = 'Tuesday';
数组的常用方法
1.concat()方法
类似于字符串的连接方法,例如:
var myArray = ['Monday', 'Tuesday', 'Wednesday'];
var myOtherArray = ['Thursday','Friday'];
var myWeek = myArray.concat(myOtherArray);
那么myWeek中的内容将是: 'Monday', 'Tuesday', 'Wednesday' , 'Thursday','Friday'
2.join()方法
a.这个方法可以把数组的全部元素连接在一起形成一个字符串:
var longDay = myArray.join();
longDay的值将是:MondayTuesdayWednesday
b.这个方法还可以有一个字符串参数,作为分隔符插入到字符串里:
var longDay = myArray.join(“|”);
longDay的值将是: Monday|Tuesday|Wednesday
3.toString()方法
这个方法其它就是一个join()方法,它只是默认返回一个用英文逗号分隔的由数组元素组成的字符串。
var longDay = myArray.toString();
longDay的值将是:Monday,Tuesday,Wednesday
4.indexOf()方法
这个方法找到指定元素在数组第一次出现的位置,返回索引值,如果没有找到返回-1
myArray.indexOf('Tuesday'); //返回1
myArray.indexOf('Sunday');//返回-1
5.lastIndexOf()方法
这个方法的工作方式与indexOf()是一样的,只是它返回指定元素在数组里最后一次出现的位置
6.slice()方法
这个方法是从数组中提取一个子集,在参数中指定开始的索引和要提取的元素个数
var myShortWeek = myWeek.slice(1,3); //从索引1开始 提取3个
myShortWeek的值将是:'Tuesday','Wednesday','Thursday'
7.sort()方法
这个方法可以把数组元素按照字母顺序排列,当然在实际开发中这个方法可以很强大
myWeek.sort();//返回'Friday','Monday','Thursday','Tuesday','Wednesday'
8.splice()方法
这个方法可以在数组添加或删除指定的一个或多个元素 语法如下:
array.splice(index, howmany, [new elements]);
第一个参数指定在数组什么位置进行操作, 第2个参数说明要删除多少个元素(设置0表示不删除)
第3个参数是可选的,是要插入的新元素列表
myWeek.splice(2,1,"holiday");
这行代码指向索引为2的元素('Wednesday'),删除1个元素('Wednesday')插入1个新元素('holiday')
现在数组myWeek包含的元素是'Monday','Tuesday','holiday','Thursday','Friday'
这个方法的返回值是被删除的元素
注意:splice()方法会改变原数组,如果代码的其它部分他需要使用最初的数组,则在使用splice()方法之前
应该把它复制到新的变量里。
运行结果: