数组是什么
一、数组简介
(1)数据类型为“字符串”
var arr = new Array("HTML","CSS","JavaScript","jQuery","ASP.NET");
(2)数据类型为“数值型”
var arr = new Array(2,4,8,16,32);
数组具有以下特点:
(1)数组是存储一组“相同数据类型”的数据结构;
(2)数组使用下标方式来获取某一项数值;
创建数组对象Array
一、创建数组对象Array
1、创建数组对象
创建数组对象有3种方法,介绍如下:
(1)新建一个长度为0的数组
语法:
var 数组名=new Array();
举例:
var myArr = new Array();
分析:
上面声明了数组名为myArr的数组,数组长度为0。长度为0,也就是说该数组有0个项。
(2)新建长度为n的数组
语法:
var 数组名=new Array(n);
举例:
var myArr = new Array(3);
myArr[0]="HTML";
myArr[1]="CSS";
myArr[2]="JavaScript";
分析:
上面声明了数组名为myArr的数组,数组长度为3。这个数组总包括3中元素:”HTML”、”CSS”、”JavaScript”。数组元素的数据类型是字符串型。
(3)新建指定长度的数组并赋值
语法:
var 数组名=new Array(元素1,元素2,...元素n);
举例:
var myArr = new Array(1,2,3,4);
分析:
上面这一行代码,创建了myArr的数组,包含了4个元素:1、2、3、4。其中myArr[0]=1、myArr[1]=2、myArr[2]=3、myArr[3]=4。
其实上述例子代码等价于下面这段代码:
var myArr = new Array(4);
myArr[0]=1;
myArr[1]=2;
myArr[2]=3;
myArr[3]=4;
这里要重点说一下:在JavaScript中,数组的索引是从0开始的,而不是从1开始的。也就是说“myArr[1]=1、myArr[2]=2、myArr[3]=3、myArr[4]=4”
数组元素的赋值和获取
一、数组元素的赋值
对数组元素赋值共有2种方法:
(1)在创建Array对象时直接赋值;
(2)利用Array对象的元素下标对数组进行赋值;
1、在创建Array对象时直接赋值
这种方式,我们已经在“创建数组对象Array”这一节接触过了。
语法:
var 数组名 = new Array(元素1,元素2,…,元素n);
举例:
var arr=new Array("html","css","javascript"); document.write(arr.length);
2、利用Array对象的元素下标对数组进行赋值
这个方法可以随时向Array对象中输入元素值,或者是修改数组中的任意元素值。
语法:
var 数组名 = new Array();
数组名[0] = 元素1;
数组名[1] = 元素2;
……
数组名[n] = 元素(n-1);
二、数组元素的获取
var arr=new Array("中国","广东","广州","天河","暨大");
//利用for循环获取所有数组元素
for(var i=0;i<arr.length;i++)
{
document.write(arr[i] + "<br/>");
}
Array对象的属性和方法
一、Array对象属性
在Array对象中有3个属性,分别是length、constructor和prototype。
语法:
数组名.length
说明:
length属性用于获取数组的长度。
当使用new Array()方法创建数组时,在不对其进行赋值情况下,length属性的返回值为0。
二、Array对象方法
方法 说明
slice() 获取数组中的某段数组元素
unshift() 在数组开头添加元素
push() 在数组末尾添加元素
shift() 删除数组中第一个元素
pop() 删除数组最后一个元素
toString() 将数组转换为字符串
join() 将数组元素连接成字符串
concat() 多个数组连接为字符串
sort() 数组元素正向排序
reverse() 数组元素反向排序
获取数组中的某段数组元素slice()方法
一、slice()方法
在JavaScript中,我们可以使用Array对象的slice()方法来获取数组中的某段数组元素。
语法:
数组对象.slice(start,end)
说明:
参数start和end都是整数。其中,参数start是必选项,表示开始元素的位置,是从0开始计算的。参数end是可选项,表示结束元素的位置,也是从0开始计算的。
var arr=new Array("html","css","javascript","jQuery","Ajax");
document.write(arr.slice(1,3));
在数组开头添加元素unshift()方法
一、unshift()方法
在JavaScript中,我们可以使用Array对象的unshift()方法在数组开头添加元素,并返回该数组。
语法:
数组对象.unshift(新元素1,新元素2,…,新元素n);
说明:
“新元素1,新元素2,…,新元素n”是可选项,表示在数组开头添加的新元素。
举例:
var arr = new Array("html", "css", "javascript");
document.write("原数组元素:" + arr);
document.write("<br/>");
arr.unshift("jQuery", "Ajax");
document.write("添加新元素后的数组元素:" +arr);
在数组末尾添加元素push()方法
一、push()方法
在JavaScript中,我们可以使用Array对象的push()方法向数组的末尾追加一个或多个元素,并且返回新的长度。记住,push()方法是在数组的末尾添加元素,而不是在中间插入元素。
语法:
数组对象.push(新元素1,新元素2,…,新元素n);
说明:
“新元素1,新元素2,…,新元素n”是可选项,表示要添加到数组末尾的元素。
push()方法可以把新的元素按照顺序添加到数组对象中去,它直接修改数组对象,而不是创建一个新的数组。push()方法和pop()方法使用数组提供的先进后出的功能。
删除数组中第一个元素shift()方法
一、shift()方法
在JavaScript中,我们可以使用Array对象的shift()方法来删除数组中第一个元素,并且返回第一个元素的值。
语法:
数组对象.shift();
说明:
shift()方法跟pop()方法类似。其中unshift()方法用于在数组开头添加元素,shift()方法用于删除数组开头第一个元素。
注意,shift()方法不创建新的数组,而是直接修改原来的数组对象。如果数组为空,那么shift()方法将不会进行任何操作,并且返回undefined值。
方法(5)删除数组最后一个元素pop()
一、pop()方法
在JavaScript中,我们可以使用Array对象的pop()方法删除并返回数组中的最后一个元素。
语法:
数组对象.pop();
说明:
pop()方法将删除数组对象的最后一个元素,并且把数组长度减1,返回它删除的该元素的值。如果数组已经为空,则pop()方法不改变数组,并返回undefined值。
将数组转换为字符串toString()方法
一、toString()方法
在JavaScript中,我们可以使用Array对象的toString()方法将数组转换为字符串,并返回结果。
语法:
数组对象.toString()
将数组元素连接成字符串join()方法
一、join()方法
在JavaScript中,我们可以使用Array对象的join()方法把数组中的所有元素连接成为一个字符串。
语法:
数组对象.join("分隔符")
说明:
其中分隔符是可选项,用于指定要使用的分隔符。如果省略该参数,则JavaScript默认采用英文逗号作为分隔符。
例如:
var arr=new Array("html","css","javascript");
//没有使用分隔符的join()方法
document.write(arr.join()+"<br/>");
//使用分隔符的join()方法
document.write(arr.join("*"));
多个数组连接为字符串concat()方法
一、concat()方法
在JavaScript中,我们可以使用Array对象的concat()方法连接两个或多个数组。该方法不会改变现有的数值,而仅仅会返回被连接数组的一个副本。
语法:
数组1.concat(数组2,数组3,…,数组n)
数组元素比较排序sort()方法
一、sort()方法
在JavaScript中,我们可以使用Array对象的sort()方法对数组元素进行大小比较排序。
语法:
数组对象.sort(函数名)
说明:
其中“函数名”用来确定元素顺序的函数的名称,如果这个参数被省略,那么元素将按照ASCII字符顺序进行升序排序。
举例:
//升序比较函数
function asc(a,b)
{
return a-b;
}
//降序比较函数
function des(a,b)
{
return b-a;
}
//创建数组的同时对元素赋值
var arr=new Array(3,9,1,12,50,21);
document.write("排序前的数组元素"+arr.join(","));
document.write("<br/>");
arr.sort(asc);
document.write("升序后的数组元素"+arr.join(","));
document.write("<br/>");
arr.sort(des);
document.write("降序后的数组元素"+arr.join(","));
数组元素反向排列reverse()方法
一、reverse()方法
在JavaScript中,我们可以使用Array对象的reverse()方法将数组中的元素反向排列。注意,reverse()是一种“排列”方法,而不是“排序”方法。
语法:
数组对象.reverse();
说明:
reverse()方法会改变原来的数组,而不是创建新的数组。