首页 > 代码库 > JS学习第九天----数组

JS学习第九天----数组

数组

前面说过,数组也是对象的一种,记得吗?啥叫数组我就不说了,数组的那些基本特征,在内存中怎样存储,在堆上还是栈上?还是其它.忘记了的自己脑补.不说了,那种编程语言都有数组,尽管数组并非非常好用,并且确定无数,可是数据是基础,相信每一个人都是在解除了数组以后才接触的更高级的容器,容器都是有哪些比較好用的?那种容器相应着那种不同的数据更为合适?自己脑补.

 

今天说的是JS中的数组(Array)

先看实例:创建数组

<script>

var array=new Array();

array[0]="syx";

array[1]="nan";

array[2]=22;

for(i =0;i<array.length;++i)

{

document.write(array[i]+"<br/>")

}

</script>

 

使用for/in遍历数组:

for(x in array)

{

document.write(array[x]+"<br/>");

}

 

合并两个数组:用法concat

<script>

var arr1=new Array(3);

var arr2=new Array(3);

arr1[0]="syx";

arr1[1]="nan";

arr1[2]=22;

arr2[0]="zsf";

arr2[1]="nv";

arr2[2]=22;

document.write(arr1.concat(arr2));//document是个什么东西?这个就相当于一条输出语句,明确?

</script>

 

 

 

用数组的元素组成字符串:使用join()方法

<script>

var arr = new Array(3);

arr[0] = "George"

arr[1] = "John"

arr[2] = "Thomas"

document.write(arr.join());//默认情况下使用逗号作为分隔符

document.write("<br />");

document.write(arr.join("."));//这里指定了分隔符,使用点号(.)

</script>

 

 

 

使用sort排序数组:

<script type="text/javascript">

//这是使用sort方法给数字数组排序

function sortNumber(a,b)

{

return a-b;

}

var arr=new Array(6);

arr[0] = "10"

arr[1] = "5"

arr[2] = "40"

arr[3] = "25"

arr[4] = "1000"

arr[5] = "1"

document.write(arr + "<br />");//这是没排序的结果

document.write(arr.sort(sortNumber));//这是排序后的结果

document.write("<br/>");

document.write("<br/>");

document.write("<br/>");

//使用sort方法给字符串数组排序

var arr = new Array(6)

arr[0] = "George"

arr[1] = "John"

arr[2] = "Thomas"

arr[3] = "James"

arr[4] = "Adrew"

arr[5] = "Martin"

 

document.write(arr + "<br />")

document.write(arr.sort())

//俺也不知道你注意到了没有,字符串的默认排序是依照字典数排序的

</script>

 

 

以上仅仅是列举出了一些经常使用的方法.以下具体说一下Array数组的属性和方法

Array对象

Array对象用于在单个的变量中存储多个值.

 

创建Array对象的语法,假设你注意到我前面创建数组的方式,说明你是个有心人.

事实上吧,创建数组的方法有三种:

1.new Array();

2.new Array(size);

3.new Array(element0,,element1,...elementn);

 

參数

參数size是指定数组元素的个数.返回的数组,length字段将被设为size的值.

參数element1...elementn是參数列表.当使用这些參数来调用构造函数Array(),新创建的数组的元素就会被初始化为这些值.他的length字段也会被设置值为參数的个数.

 

返回值

返回新创建并被初始化了的数组.

假设调用构造函数Array()时没有使用參数,那么返回的数组为空,length字段为0

当调用构造函数时值传递给它一个数字參数,该构造函数就返回具有制定个数,元素为undefined的数组.

当其它參数调用Array(),该构造函数将用參数指定的值初始化数组.

当把构造函数作为函数调用,,不适用new运算符时,他的行为有使用new运算符调用它时的行为全然一样.

Array对象属性

属性名

描写叙述

constructor

返回对创建此对象的数组函数的引用

length

设置或返回数组中严肃的数组

prototype

使你有能力向对象加入属性和方法

 

 

Array对象方法

方法名

描写叙述

concat()

连接两个或很多其它的数组,并返回结果

join()

把数组的全部元素放入一个字符串,元素通过指定的分隔符进行切割

pop()

删除并返回数组的最后一个元素

push()

向数组的末尾加入一个或很多其它元素,并返回新的长度

reverse()

颠倒数组中元素的顺序

shift()

删除并返回数组的第一个元素

slice()

从某个已有的数组返回选定的元素

sort()

对数组的元素进行排序

splice()

删除元素,并向数组加入新的元素

toSource()

返回该对象的源码

toString()

把数组转换为字符串,并返回结果

toLocaleString()

把数组转换为本地数组,并返回结果

unshift()

向数组的开头加入一个或很多其它元素,并返回长度

valueOf()

返回数组对象的原始值

 

定义数组

数组对象用来在单独的变量名中存储一系列的值.

我们使用newkeyword来创建数组对象.案例:

var array =new Array()

有两种向数组赋值的方法(你能够加入随意多的值,就像你能够定义你须要的人一多的变量一样).

第一种:

var array=new Arrau()

array[0]=1;

array[1]=2;

array[2]=3;

也能够使用一个整数自变量来控制数组的容量:

var array=new Array(3)

array[0]=1;

array[1]=2;

array[2]=3;

另外一种:

var mycars=new Array("Saab","Volvo","BMW")

 

 

 

注意:假设你须要在数组内指定数值或者逻辑值,那么变量类型应该是数值或布尔变量,而不是字符变量.

 

 

訪问数组

通过指定数组名以及索引號码,你能够訪问某个特定的元素.

案例:

document.write(array[0]);

输出:Saab

 

 

 

 

改动数组中的值

假设改动已有数组中的值,仅仅要想指定下标加入一个新值就可以:

array[0]=”hahaha”;

測试代码:

document.write(array[0]);

输出为:hahaha

JS学习第九天----数组