数组
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" ""><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>
版权声明:本文为博主原创文章,未经博主允许不得转载。
终究还是会从指缝中一滴一滴流淌干净。