|
创建数组
使用 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]
运行输出:www.groad.net
/bbs/
post.php? 由上可见,使用 slice() 不会影响到最初的数组,但如果需要,也可以使 slice() 的返回结果再赋值给最初的数组。
连接数组
我们可以将 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,Mango
Banana+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]
运行输出:Apple,Banana,Mango,Orange 这些排序是按照 ASCII 码中的字符编号进行的。
如果要反向排序,那么可以使用 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,Pear
Pear
Lemon
Cabbage
Banana
Apple |
|