首页 > 代码库 > javascript的Array对象解析
javascript的Array对象解析
1 一维数组
定义:一维数组是一组具有相同类型的相关数据,并通过带索引编号的单个变量名标志每个数据项。
2 在JavaScript中创建数组
在JavaScript中,使用var关键字后跟数组名来创建数组。然而在这个表达式的右边不是放置一个特定值,而是使用JavaScript关键字new Array()。可以在这个圆括号内指定这个数组元素的个数,但这不是必须的。如:var array = new Array(200);引用特定元素的方法是数组名后跟用括号括起来的一个索引编号(编号从0开始)。如:Document.write(array[2]);
3 关于数组的初始化
两中赋值方式:1)先声明后逐个赋值。如 var stu = new Array();stu[0]="**";stu[1]="##";.....;
2) 声明赋值同时进行。如 var stu = new Array("**","$$","&&","....");
4 Array对象
因为数组是对象,所以他们有相关的方法和属性;且数组名最为实参传递时,是引用传递(即传递的是地址)。
5 关于数组名的说明
通过数组名引用一个数组时,可以带或不带括号。
6 数组的length属性
检查数组的长度大小。(数组名.length)
7 Array对象的一些方法
Array对象的方法
方法 | 描述 |
concat() | 链接两个或更多数组并且返回连接后数组的副本 |
join() | 将一个数组中的所有元素连接成一个字符串 |
push() | 将新元素添加到数组的末尾并且返回新的长度 |
reverse() | 反转数组中元素的次序 |
shift() | 去除数组的第一个元素并且返回那个元素 |
sort() | 排序数组中的元素 |
splice() | 为数组添加/去除元素 |
toString() | 将数组转换成一个字符串并返回这个结果 |
Unshift() | 把新元素添加到数组的开始位置并且返回新的长度 |
8 数组方法实例
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script type="text/javascript">
function arrayMethod(){
var array1 = new Array(3,"huang","$");
var array2 = new Array();
array2[0] = 5;
array2[1] = 49;
array2[2] = 8;
/*链接两个或更多数组并且返回连接数组的副本:3,huang,$,5,49,8*/
var con = array1.concat(array2);
document.getElementById("concat").innerHTML = con;
/*将一个数组中的所有元素连接成一个字符串:3,huang,$*/
var joi = array1.join();
document.getElementById("join").innerHTML = joi;
/*将新元素添加到数组的末尾并且返回新的长度:4*/
var pus = array1.push("jinjin");
document.getElementById("push").innerHTML = pus;
/*反转数组中元素的次序:jinjin,$,huang,3*/
var rever = array1.reverse();
document.getElementById("reverse").innerHTML = rever;
/*去除数组的第一个元素并且返回那个元素:jinjin*/
var shif = array1.shift();
document.getElementById("shift").innerHTML = shif;
/*sort():
1、默认情况下是进行升序排列.从左往右一位一位比较,直至比较出大小(若其中位数不足的补零):如:5与51,因为第一位5等于5,比较第二位,因为第一个数字只有一位,所以补零0小于第二个数字的第二位1,所以5小于51;如5与49比较,5大于4,所以此函数认定5大于49。所以利用此函数比较时,应该使相应的比较的数的位数相同(如上例5与49比较,应该写为:05与49比较)。
2、sort() 方法可以接受一个 方法为参数 ,
3、示例结果:排序数组中的元素:49,5,8
*/
var sor = array2.sort();
document.getElementById("sort").innerHTML = sor;
/*
splice(index,howmany,item1,.....,itemX)
Index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
Howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX:可选。向数组添加的新项目。
注意:splice不返回(即没有返回值)
所以示例结果为:为数组添加/去除元素:
*/
var spl = array2.splice(3,0,"4")//
document.getElementById("splice").innerHTML = spl;
/*将数组转换成一个字符串并返回这个结果:49,5,8,4*/
var tos = array2.toString();
document.getElementById("tostring").innerHTML = tos;
/*把新元素添加到数组的开始位置并且返回新的长度:5*/
var unshif = array2.unshift("%%")
document.getElementById("unshift").innerHTML = unshif;
}
</script>
</head>
<body>
<section>
<p>链接两个或更多数组并且返回连接数组的副本:<span id="concat"></span></p>
<p>将一个数组中的所有元素连接成一个字符串:<span id="join"></span></p>
<p>将新元素添加到数组的末尾并且返回新的长度:<span id="push"></span></p>
<p>反转数组中元素的次序:<span id="reverse"></span></p>
<p>去除数组的第一个元素并且返回那个元素:<span id="shift"></span></p>
<p>排序数组中的元素:<span id="sort"></span></p>
<p>为数组添加/去除元素:<span id="splice"></span></p>
<p>将数组转换成一个字符串并返回这个结果:<span id="tostring"></span></p>
<p>把新元素添加到数组的开始位置并且返回新的长度:<span id="unshift"></span></p>
<input type="button" value="http://www.mamicode.com/array_method" onClick="arrayMethod()">
</section>
</body>
</html>
注意:
1、splice()方法:(不返回)
2、sort() 方法是按字符数据的ASCII码进行比较排序
备注:本人是新人,如有不当之处,请谅解之处。谢谢!
javascript的Array对象解析