JS内置对象:Array 数组对象
Array 数组对象
数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的。
(一)数组定义的方法:
- 定义了一个空数组:
var 数组名= new Array();
2.定义时指定有n个空元素的数组:
var 数组名 =new Array(n);
3.定义数组的时候,直接初始化数据:
var 数组名 = [<元素1>, <元素2>, <元素3>...];
【案例】
var myArray = [2, 8, 6];
说明:定义了一个数组 myArray,里边的元素是:myArray[0] = 2; myArray[1] = 8; myArray[2] = 6。
(二)数组元素使用:
数组名[下标] = 值;
【注意】:
数组的下标用方括号括起来,从0开始.
(三)数组属性:
length 用法:<数组对象>.length;返回:数组的长度,即数组里有多少个元素。它等于数组里最后一个元素的下标加一。
(四)数组方法:
一、数组连接concat()
concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。
【语法】:
arrayObject.concat(array1,array2,...,arrayN)
【参数说明】:
array1 要连接的第一个数组。
……
arrayN 第N个数组。
【注意】:
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
【案例】:
创建了三个数组,然后使用 concat() 把它们连接起来,代码如下:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Array对象 </title>
<script type="text/javascript">
var mya1= new Array("hello!")
var mya2= new Array("I","love");
var mya3= new Array("JavaScript","!");
var mya4=mya1.concat(mya2,mya3);
document.write(mya4);
</script>
</head>
<body>
</body>
</html>
【结果】:
二、指定分隔符连接数组元素join()
join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。
【语法】:
arrayObject.join(分隔符)
【参数说明】:
separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
【注意】:
返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔符>置于元素与元素之间。这个方法不影响数组原本的内容。
【案例】使用分隔符来分隔数组中的元素,代码如下:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Array对象 </title>
<script type="text/javascript">
var myarr = new Array(3)
myarr[0] = "I";
myarr[1] = "love";
myarr[2] = "JavaScript";
document.write(myarr.join("."));
</script>
</head>
<body>
</body>
</html>
三、颠倒数组元素顺序reverse()
reverse() 方法用于颠倒数组中元素的顺序。
【语法】:
arrayObject.reverse()
【注意】:
该方法会改变原来的数组,而不会创建新的数组。
【案例】:颠倒元素的顺序
<script type="text/javascript">
var myarr = new Array(3)
myarr[0] = "1"
myarr[1] = "2"
myarr[2] = "3"
document.write(myarr + "<br />")
document.write(myarr.reverse())
</script>
四、选定元素slice()
slice() 方法可从已有的数组中返回选定的元素。
【语法】
arrayObject.slice(start,end)
【参数说明】
start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1指最后一个元素,-2指倒数第二个元素,以此类推。
end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从start到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
1:返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
2:该方法并不会修改数组,而是返回一个子数组。
【注意】:
1:可使用负值从数组的尾部选取元素。
2:如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。
3:String.slice() 与 Array.slice() 相似。
【案例】
<script type="text/javascript">
var myarr = new Array(1,2,3,4,5,6);
document.write(myarr + "<br>");
document.write(myarr.slice(2,4) + "<br>");
document.write(myarr);
</script>
【结果】
五、数组排序sort()
sort()方法使数组中的元素按照一定的顺序排列。
【语法】:
arrayObject.sort(方法函数)
【参数说明】:
方法函数可选。规定排序顺序。必须是函数。
1.如果不指定<方法函数>,则按unicode码顺序排列。
2.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。
【案例】排序函数,代码如下
<script type="text/javascript">
function sortNum(a,b) {
return a - b;
//升序,如降序,把“a - b”该成“b - a”
}
var myarr = new Array("80","16","50","6","100","1");
document.write(myarr + "<br>");
document.write(myarr.sort(sortNum));
</script>
【结果】
end.
本笔记整理自慕课网