|  | 
 
| 创建数组 使用 new 来创建 Array() 对象,如:
 var myarray = new Array( "first", "Second", "Third" );声明一个含有 5 个元素的数组:
 var myarray = new Array( 5 );创建一个空数组:
 var myarray = new Array();给数组赋值:
 myarray[0] = "first";myarray[1] = "second";
 myarray[2] = "third";
不使用 Array() 构造函数,采用简写方式:
 var myarray = [1, 2, 3, 4, 5, 6];
 var yourArray = ["first", "second", "third", "fouth"];
 
 数组索引除了数字还可以是关键字或者变量:
 anArray["price"] = 100.89;      //使用自定义关键字做索引
 var Index = 0;
 anArray[Index] = 78.98;      //使用变量做索引
 
 数组的属性与方法
 
 length 属性:
 length 表示的是数组的长度:
 
 [JavaScript] 纯文本查看 复制代码 var domain = ["welcome", "to", "groad", ".net"];
    document.write( domain.length );返回结果为 4 。
 
 使用 slice() 方法截取数组的一段:
 slice() 方法对于一个 Array 对象就如同 substring() 对于一个 String 对象。只要简单的告诉它我们想要截取哪些元素即可。这在许多场合都很有用,比如我们可以截取一个网址上的某个片段。
 
 该方法有 2 个参数:
 1. 片段中第一个元素的索引(会包含在片段中)。
 2. 最后一个元素的索引(不会包含在片段中)。
 
 示例代码:
 [code=javascript]    <script type="text/javascript">
 var myUrl = new Array("http:", "//", "www.groad.net", "/bbs/", "post.php?", "fid=123");
 
 var sliceOfUrl = myUrl.slice(2, 5);
 
 document.write( sliceOfUrl[0] + "<br>" );
 document.write( sliceOfUrl[1] + "<br>" );
 document.write( sliceOfUrl[2] + "<br>" );
 </script>[/mw_shl_code]
 运行输出:
 由上可见,使用 slice() 不会影响到最初的数组,但如果需要,也可以使 slice() 的返回结果再赋值给最初的数组。www.groad.net/bbs/
 post.php?
 
 连接数组
 我们可以将 2 个或多个数组连接起来,每个新数组在前面数组结束的地方开始:
 [code=javascript]<script type="text/javascript">
 
 var parents = ["Jani", "Tove"];
 var children = ["Cecilie", "Lone"];
 var family = parents.concat(children);
 document.write(family);
 
 </script>[/mw_shl_code]
 运行输出:
 数组和字符串之间的相互转换
 当需要把数组中的数据传送到其他地方时,将这些数据转换成字符串可能是个很好的主意。虽然可以通过遍历数组然后将每个元素的值添加到字符串里,但我们没有必要这么麻烦,因为 Array 对象里有一个叫 join() 的方法可以完成该功能。这个方法需要一个字符串作为参考,这个字符串会被添加到每个元素的中间,当省略这个参考字符串时,只是简单的将数组中的元素用逗号相连,如下代码示例:
 [code=javascript]<script type="text/javascript">
 
 var fruits = ["Banana", "Orange", "Apple", "Mango"];
 document.write(fruits.join() + "<br />");
 document.write(fruits.join("+") + "<br />");
 document.write(fruits.join(" and "));
 
 </script>[/mw_shl_code]
 运行输出:
 Banana,Orange,Apple,MangoBanana+Orange+Apple+Mango
 Banana and Orange and Apple and Mango
与 join() 方法相反的是 split() ,这个方法可以把字符串转换为数组,测试代码如下:
 [code=javascript]<script type="text/javascript">
 var lineUp = "www, groad, net";
 var site = lineUp.split(', ');
 document.write(site.length + "<br>");
 document.write(site[0] + "<br>");
 document.write(site[1] + "<br>");
 document.write(site[2] + "<br>");
 </script>[/mw_shl_code]
 运行输出:
 数组排序
 sort() 方法可以把数组中的数据项按字母或数字顺序进行排序:
 [code=javascript]<script type="text/javascript">
 
 var fruits = ["Banana", "Orange", "Apple", "Mango"];
 document.write(fruits.sort());
 
 </script>[/mw_shl_code]
 运行输出:
 这些排序是按照 ASCII 码中的字符编号进行的。Apple,Banana,Mango,Orange
 如果要反向排序,那么可以使用 reverse() 方法:
 [code=javascript]<script type="text/javascript">
 var arrayToSort = new Array( "Cabbage", "Lemon", "Apple", "Pear", "Banana" );
 var sortedArray = arrayToSort.sort();
 document.write( sortedArray );
 document.write ("<br />");
 
 var reverseArray = sortedArray.reverse();
 document.write( reverseArray[0] + "<br />" );
 document.write( reverseArray[1] + "<br />" );
 document.write( reverseArray[2] + "<br />" );
 document.write( reverseArray[3] + "<br />" );
 document.write( reverseArray[4] + "<br />" );
 </script>[/mw_shl_code]
 运行输出:
 Apple,Banana,Cabbage,Lemon,PearPear
 Lemon
 Cabbage
 Banana
 Apple
 | 
 |