js拾遗补缺之数组篇(一)

 

Js好久没用了,感觉都有点疏远了,还好最近看了本好书《javascript 高级编程》这才慢慢的把js又温习了一下。

这里把一些js里常用的知识点列一下,以供以后的查询

这是第一篇,讲讲Array吧。

 

与java不同的是在js中存在真正的Array类。
可以这样var aValues = new Array(20);定义Array
也可以这样定义Array

var aValues = new Array();

 


aValues[0]="aaa";
aValues[1]="bbb";
aValues[2]="ccc";
还可以这样定义
var aValues =new Array("aaa","bbb","ccc");


js中的数组类似于java中的ArrayList,每增加一个数组项,数组的长度就动态的增加。
例如:
var aValue= new Array("aaa","bbb","ccc");
aValues[3]="dddd";
alert(aValues.length);
结果,不会象java里那样出现空指针,而是是4.


如果是在数组的位置30放置一个值结果会如何?
var aValue= new Array("aaa","bbb","ccc");
aValues[30]="dddd";
alert(aValues.length);
答对了,结果是31
那3,到29的位置的值都会是什么那?对,是null。

 


Array对象有很多很有用的方法,很多都是java里没有的。(什么时候java也能有这样的方法啊!)。

 

 

 

 

1.toString ,valueOf
这2个方法功能一样都是返回一个以,为分割符的字符串
var aValues= ["a","b","c"];
alert(aValues.toString());//返回的是a,b,c

 

2.join(separator)-----------------以separator指定的字符作为分割符,将数组转换为字符串,当seperator 为逗号时,其作用和toString()相同。
var aValues= ["a","b","c"];
alert(aValues.join("-"));//返回的是a-b-c
alert(aValues.join("]["));//返回的是a][b][-c

 

3.concact(item1,item2,....)-----------该方法不是要把参数列表连接到原来的数组中而是把参数列表添加到数组的后面形成一个新的数组并返回,
而原有数组不受影响。

如:var aValues=["a","b","c"];
var aNewValues=aValues.concact("d","e");
alert(aNewValues.toString);//输出的是a,b,c,d,e
alert(aValues.toString);//输出的亦然是a,b,c

 

4.objArray.pop()---------看名字就能猜到这是栈的操作。恭喜你猜对了,该方法就是弹出数组的最后一个元素。
pop方法返回数组最后一个元素的值,并将length属性减1,即返回后立即丢失最后一个元素。
他结合下面的push方法,使得将数组作为栈来使用成为可能。

var aValues= ["a","b","c"];
alert(aValues.pop());//输出的是c
alert(aValues.length);//输出的是2

 

5. push([value1[,value2[,....]]])-------------还是栈的操作,将参数添加到数组的结尾。如:[1,2,3, 4].push("a","b")将得到[1,2,3,4,"a","b"]
这个和concact的区别就是concact不影响原来的数组而push就是在原来的数组中进行的操作。
var aValues= ["a","b","c"];
aValues.push("d","e");
alert(aValues.toString());//输出的是a,b,c,d,e
alert(aValues.length);//输出的是5

 

6.reverse()很有意思的方法,将数组中的元素反转排列。
var aValues= ["a","b","c"];
aValues.reverse();
alert(aValues.toString());//输出的是c,b,a

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章