(1):数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的
数组定义的方法:
1. 定义了一个空数组:
var 数组名= new Array();
2. 定义时指定有n个空元素的数组:定义一个数组,但是这里是空数组
var 数组名 =new Array(n); 知道数组的长度“n”
3.定义数组的时候,直接初始化数据:
var 数组名 = [<元素1>, <元素2>, <元素3>...];给我这个数组赋值,初始化。
我们定义myArray数组,并赋值,代码如下:
var myArray = [2, 8, 6];
说明:定义了一个数组 myArray,里边的元素是:myArray[0] = 2; myArray[1] = 8; myArray[2] = 6。
数组元素使用:
数组名[下标] = 值;
注意: 数组的下标用方括号括起来,从0开始。
(2)数组属性:
length 用法:<数组对象>.length;返回:数组的长度,即数组里有多少个元素。
它等于数组里最后一个元素的下标加一。(数组的长度的数据就是元素的下标加一)
数组方法:见JavaScript文档
(3).数组连接concat()(此方法用于如何连接数组)
concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。
语法:arrayObject.concat(array1,array2,...,arrayN)//array1 要连接的第一个数组 arrayN第n个数组
注意: 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本
例子1: var myarr1 = new Array(1, 2, 3);
var myarr2 = new Array(4, 5);
var myarr3 = new Array(6, 7);
document.write(myarr1.concat(myarr2) + "<br/>");
document.write(myarr1.concat(myarr2, myarr3) + "<br/>");
结果是:(1,2,3,4,5)、(1,2,3,4,5,6,7)
(4)指定分隔符连接数组元素join()
join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。
语法:arrayObject.join(分隔符)数组点出join
注意:返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔符>置于元素与元素之间。这个方法不影响数组原本的内容。 我们使用join()方法,将数组的所有元素放入一个字符串中
例子2. var myarr = new Array(3);声明长度为三的数组
myarr[0] = "I";{
myarr[1] = "love"; 分别给三个元素赋值
myarr[2] = "JavaScript"; }
document.write(myarr.join()+"<br/>");//不指定特定字符:默认数组格式,默认数组的格式是用“,”隔开的
document.write(myarr.join("-") + "<br/>");
结果:(I,love,JavaScript) 、(I-love-JavaScript)
(5)数组排序sort()比较元素大小的时候用到
sort()方法使数组中的元素按照一定的顺序排列。
语法:arrayObject.sort(方法函数)数组
参数说明:方法函数 可写可不写参数,规定排序顺序,必须是函数
1.如果不指定<方法函数>,则按unicode码顺序排列。
2.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。
myArray.sort(sortMethod);
注意: 该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值下:若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
例子3.使用sort()将数组进行排序,代码如下:
从字面上对数组进行排序
var myarr1 = new Array("Hello", "John", "love", "JavaScript");
var myarr2 = new Array("80", "16", "50", "6", "100", "1");
document.write(myarr1.sort() + "<br>");没用到则按unicode码顺序排列。
document.write(myarr2.sort() + "<br/>");
结果:(Hello,JavaScript,John,love)(1,100,16,50,6,80)
2.如要实现这一点,就必须使用一个排序函数,代码如下:从数值上对数组进行排序。
var myarr = new Array("80", "16", "50", "6", "100", "1");
document.write(myarr + "<br>");
function sortnum(a, b) {带有参数的函数
return a - b; //升序,如降序,把“a - b”该成“b - a”}
document.write(myarr.sort(sortnum));
结果:(80,16,50,6,100,1)、(1,6,16,50,80,100)