现在的位置: 首页 > 综合 > 正文

javascript对象之Array数组详解

2013年04月22日 ⁄ 综合 ⁄ 共 3282字 ⁄ 字号 评论关闭

对于数组的概念,大家应该都不陌生了吧,早在学校里我们所学的数学中就应对数组的定义和用法做了详细的解释,只不过编程语言中对数组的定义和使用略有区别而已,另外数学中并没有数组的一些属性和方法。其实我们在讲解php语言的时候,已经牵扯到了编程语言中数组的概念和用法,而我们今天的教程仅仅是为了加深这种概念,并列举出数组的一些常用属性及方法。在上一章节我们主要对日期对象进行了详细的探讨,如果您还没有来的及读到上一篇文章,那么我们这里有一个快捷通道《javascript之Date日期对象详解》。
我们先来看看定义数组的标准语句:

  1. //定义数组的标准语句   
  2. var 数组名称=new Array()  

在定义了数组之后,我们该如何为数组赋值呢?也就是说,我们该如何为新建的数组添加元素呢?
其实我们有三种方法来进行创建,第一种和第二种方法是差不多的,唯一的区别是在数组的参数中增加了元素的数量,请看下面的代码

  1. //我们在创建数组时也可以不在数组参数中加入元素数量   
  2. //如下面的代码第一句也可以写成:   
  3. //var carsname=new Array()   
  4. //子寒互动视觉原创教程,转载请保留原文出处,谢谢合作
      
  5. var carsname=new Array(4)   
  6. carsname[0]="宝马"  
  7. carsname[1]="奔驰"  
  8. carsname[2]="路虎"  
  9. carsname[3]="悍马"  

除了上面的两种方法外,我们也可以将数组的元素直接作为参数来进行书写,其代码如下:

  1. var carsname=new Array("宝马","奔驰","路虎","悍马")  

创建了数组之后,我们可能需要访问其数组元素,下面是其标准的访问语句:

  1. //访问数组的第一个元素   
  2. document.write(carsname[0])  

除了访问数组元素之外,有时我们还需要对数组的元素进行重新赋值或修改,请看下面的代码:

  1. //根据上面的代码   
  2. //那么原来第一个元素为宝马   
  3. //现在重新对其进行赋值之后   
  4. //数组的第一个元素的值便为宾利了   
  5. mycars[0]="宾利";  

对数组的基本用法,我们有所了解了之后,就要看看数组的几种方法了,请看下面的具体讲解:
1.使用concat()方法来合并两个数组:

  1. <html>   
  2. <body>   
  3. //使用concat()方法来合并两个数组的示例   
  4. <script type="text/javascript">   
  5. //第一个数组中包含3个元素   
  6. var myAV = new Array(3)   
  7. arr[0] = "苍井空"  
  8. arr[1] = "麻生希"  
  9. arr[2] = "波多野结衣"  
  10. //第二个数组中同样包含3个元素   
  11. var myAV2 = new Array(3)   
  12. arr2[0] = "红音莹"  
  13. arr2[1] = "木下柚花"  
  14. arr2[2] = "吉泽明步"  
  15. //将两个数组进行合并   
  16. document.write(myAV.concat(myAV2))   
  17. //最后输出结果应为:   
  18. //苍井空,麻生希,波多野结衣,红音莹,木下柚花,吉泽明步   
  19. </script>   
  20. </body>   
  21. </html>  

2.使用join()方法来将数组中的所有元素组成一个字符串的形式,请看下面的示例代码:

  1. <html>   
  2. <body>   
  3. //将数组中的所有元素组成一个字符串   
  4. <script type="text/javascript">   
  5. //创建包含三个元素的数组   
  6. var mystory = new Array(3);   
  7. mystory[0] = "阳光"  
  8. mystory[1] = "月光"  
  9. mystory[2] = "光光"  
  10. //将数组元素连成字符串的形式   
  11. //输出结果为:阳光,月光,光光   
  12. document.write(mystory.join());   
  13. document.write("<br />");   
  14. //更改各个字符串之间的间隔符   
  15. //输出结果为:阳光.月光.光光   
  16. document.write(mystory.join("."));   
  17. </script>   
  18. </body>   
  19. </html>  

3.使用sort()方法对数组中的元素进行排序,这种排序我们将从两种形式进行讲解,一种是对字母进行排序,而另外一种则是对数字进行排序,首先让我们先看怎么对字母进行排序(按照首字母的顺序进行排序,当第一个字符相同时,则从第二位顺延),比如下面的代码:

  1. <html>   
  2. <body>   
  3. //按照字母顺序对数组的元素进行排序   
  4. <script type="text/javascript">   
  5. //创建一个具有6个元素的数组   
  6. var demo = new Array(6)   
  7. demo[0] = "cat"  
  8. demo[1] = "car"  
  9. demo[2] = "more"  
  10. demo[3] = "top"  
  11. demo[4] = "first"  
  12. demo[5] = "god"  
  13. document.write(demo + "<br />")   
  14. //不给sort()任何参数则表示默认的按字母顺序进行排列   
  15. //当第一个字母相同,则从第二位依然顺延比较   
  16. document.write(demo.sort())   
  17. //因为结果为:car,cat,first,god,more,top 
      
  18. </script>   
  19. </body>   
  20. </html>  

下面我们再来看看对数字进行排序,这样就要在sort()方法中加入参数了,请看下面的示例:

  1. <html>   
  2. <body>   
  3. <script type="text/javascript">   
  4. function demoNumber(x,y)   
  5. {   
  6. return x - y   
  7. }   
  8. var arrdemo = new Array(6)   
  9. arrdemo[0] = "300"  
  10. arrdemo[1] = "60"  
  11. arrdemo[2] = "75"  
  12. arrdemo[3] = "80"  
  13. arrdemo[4] = "980"  
  14. arrdemo[5] = "66"  
  15. document.write(arrdemo + "<br />")   
  16. //注意其参数为我们上面创建的函数   
  17. //结果为:60,66,75,80,300,980   
  18. document.write(arrdemo.sort(demoNumber))   
  19. </script>   
  20. </body>   
  21. </html>  

4.for……in判断语句判断某个元素是否在数组中,请看下面的示例:

  1. <html>   
  2. <body>   
  3. //遍历数组的用法   
  4. <script type="text/javascript">   
  5. var i   
  6. var carsdemo = new Array()   
  7. carsdemo[0] = "福特"  
  8. carsdemo[1] = "雪弗兰"  
  9. carsdemo[2] = "标致"  
  10. for (i in carsdemo)   
  11. {   
  12. document.write(carsdemo[i] + "<br />")   
  13. }   
  14. </script>   
  15. </body>   
  16. </html>  

<html>

<body>

<script type="text/javascript">
function demoNumber(x,y)   
{   
return x - y   
}   
var arr = new Array(6)
arr[0] = 3
arr[1] = 9
arr[2] = 5
arr[3] = 12
arr[4] = 6
arr[5] = 1
arr[5] = 2
document.write(arr + "<br />")
document.write(arr.sort(demoNumber))

</script>

</body>
</html>
转自http://www.xmlas.com/javascript-array-object.html

抱歉!评论已关闭.