JavaScript数组和循环详解
数组是元素的一个有序组合。在JavaScript中,数组可以使用正式的对象表示法来创建,或者可以使用直接量表示法来初始化。
vararrObject=newArray("val1","val2");//作为对象的数组 vararrLiteral=["val1","val2"];//数组直接量
对于开发者来说,这没有区别:在直接量和对象上都可以调用一个Array方法。对于JavaScript引擎来说,每次访问数组直接量的时候,必须重新解释它,特别是在一个函数中使用它的时候。
使用new运算符来创建一个新的Array对象:
vararrObject=newArray();
也可以创建带有某些值的一个新数组:
vararrObject=newArray("val1","val2");
JavaScript中的数组是从0开始索引的,这意味着,第一个元素的索引是0,最后一个元素是数组的长度减去1。
1、循环遍历数组
问题:想要很容易地访问数组的所有元素。
解决方案:
要访问一个数组,最常用的方法是使用for循环:
<scripttype="text/javascript"> varanimals=newArray("cat","dog","whale","seal"); varanimalString=""; for(vari=0;i<animals.length-1;i++){ animalString+=animals[i]+""; } alert(animalString); </script>
讨论:
for循环可以用来访问数组的每一个元素。数组从0开始,而且数组属性length用来设定循环结束。
2、按顺序存储和访问值
问题:想要以这样一种方式来存储值,可以按照存储它们的方式来顺序访问值;
解决方案:
要按照接受值的顺序来存储和访问值,创建一个先进先出(FIFO)的队列。使用JavaScriptArray对象的push方法,向队列添加项,并且用shift来获取项:
<scripttype="text/javascript"> //创建新的数组 varqueue=newArray();
//压入3个条目 queue.push("first"); queue.push("second"); queue.push("third");
//获取两个条目 alert(queue.shift()); alert(queue.shift()); alert(queue); </script>