首页 > 编程语言 > 详细

JavaScript之 ------ 数组相关知识(轻松玩转js数组)

时间:2015-10-23 16:29:43      阅读:163      评论:0      收藏:0      [点我收藏+]

数组


1、Js中的数组的长度是可以自动增长的

2、Js中的数组的功能相当于Java中的数组和集合的综合

3、var arr=[3,2,-4,78,10];//正确,注意,Java赋初值用的是大括号,而Js用的是中括号

      var arr[]=[3,2,-4,78,10];//错误的,不能声明成arr[]----声明时不能带中括号

4、遍历数组

 <script type="text/javascript">
        arr[0]=100;
        arr[5]=-1;
        //alert(arr.length);//6
        //遍历数组
        for(var x=0; x<arr.length; x++){
        document.write("arr["+x+"]="+ arr[x] +" ");
        }//输出:arr[0]=100 arr[1]=undefined arr[2]=undefined arr[3]=undefined arr[4]=undefined arr[5]=-1
 </script>


5、Js中的数组当中可以存储不同数据类型的数据

<script type="text/javascript">
            var arr = [34, 56, -1, 100];
            arr[1] = -1;
            arr[2] = true; //语法上是可以的,因为它有集合的特性,各种类型的数据都可以赋给它。
            arr[6] = "Java";//虽然这样,但我们做项目时,一个数组最好放同一种类型的数据。
            //遍历数组
            for (var x = 0; x < 8; x++) {
                document.write("arr[" + x + "]=" + arr[x] + " ");
            }//输出:arr[0]=34 arr[1]=-1 arr[2]=true arr[3]=100 arr[4]=undefined arr[5]=undefined arr[6]=Java arr[7]=undefined
</script>
注:语法上是可以的,因为它有集合的特性,各种类型的数据都可以赋给它。虽然这样,但我们做项目时,一个数组最好放同一种类型的数据。

6、Js中数组的另一种定义方式:使用js当中的Array对象

注:用Array对象定义数组时,参数为1时,是指数组的长度;若大于1时,直接就是数组中的元素初值

var arr2 = new Array(5); //定义长度为5的数组----参数为1时,是长度

var arr3 = new Array(5, 6, 7); //参数大于1时,就是元素的初值


7、Js中Array对象中的方法

1)concat 方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。

2)join 方法:返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。

3)reverse 方法:返回一个元素顺序被反转的 Array 对象。

4)shift 方法: 移除数组中的第一个元素并返回该元素。-----removeFirst()

5)slice 方法 (Array): 返回一个数组的一段。-----类似String中的substring()

6)sort 方法: 返回一个元素已经进行了排序的 Array 对象。

7)splice 方法: 替换。从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。

8)unshift 方法:将指定的元素插入数组开始位置。返回值为新数组的长度----addFirst()

例1:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <title>Array Object Demo</title>
    </head>
    <body>
        <script type="text/javascript" src="..\js1\stringtool.js">
        </script>
        <script type="text/javascript">
            var arr = ["aa", "bb", "cc", "zz", "kk"];
            println(arr.toLocaleString());
            var arr2 = [123, "csdn", true];
            var newArr = arr.concat(arr2);
            //演示concat方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。
            println(("length:" + newArr.length).fontcolor("red"));
            
            println("<hr/>演示join方法:返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。");
            println(arr.join());
            println(arr.join("-"));
            
            println("<hr/>reverse 方法:返回一个元素顺序被反转的 Array 对象。");
            println(arr);
            println(arr.reverse());
            println(arr);
            
            println("<hr/>shift 方法: 移除数组中的第一个元素并返回该元素。-----removeFirst()");
            println(arr);
            println(arr.shift());
            println(arr);
            
            println("<hr/>slice 方法 (Array): 返回一个数组的一段。-----类似String中的substring()");
            println(arr);
            println(arr.slice(1, 3));
            
            println("<hr/>sort 方法: 返回一个元素已经进行了排序的 Array 对象。");
            arr.sort();
            println(arr);
            
            println("<hr/>splice 方法: 替换。从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。");
            println(arr);
            var temp = arr.splice(1, 3, "111", "2222", "3333", "444a", 100);//把从[1,3)范围内的元素移除,并且在该位置插入新的元素(后面的那些元素)。返回的是被移除的那些元素
            println("temp: " + temp);
            println("arr: " + arr);
            
            println("<hr/>unshift 方法:将指定的元素插入数组开始位置。返回值为新数组的长度----addFirst()");
            println(arr);
            println(arr.unshift("abc123"));
            println(arr);
        </script>
    </body>
</html>
stringtool.js

      // 模拟Java当中的System.out.print()
      function print(str){
    	  document.write( str);
      }
      
      // 模拟Java当中的System.out.println()
      function println(str){
    	  document.write( str +"<br>");
      }

例2:用array做队列和栈

<!DOCTYPE HTML>
<html>
	<head>
		<title>Array Object Demo</title>
	</head>
	<body>
		<script type="text/javascript" src="..\js1\stringtool.js"></script>
		<!--用array做队列和栈-->
		<script type="text/javascript">
			//栈(加时,加到尾部;出时,也出尾部元素)
      		//入栈,用自己封装的addLast()方法
			Array.prototype.addLast=function(element){
				this[this.length]=element;
			}
			Array.prototype.removeFisrt=function(){ //出队列,用自己的removeFirst()方法----其实是shift()
				return this.shift();
			}
			Array.prototype.removeLast=function(){//出栈,用自己封装的removeLast()方法----其实就是pop()
				return this.pop();
			}
		</script>
	</body>
</html>














版权声明:本文为博主原创文章,未经博主允许不得转载。

JavaScript之 ------ 数组相关知识(轻松玩转js数组)

原文:http://blog.csdn.net/u011479875/article/details/49362401

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!