标签:
js数组的声明与应用
数组:一种容器,存储批量数据。
JavaScript是一种弱类型语言。什么是弱类型,就是变量可以存储多种类型变量的引用不会报错。
所以js数组可以存储不同的数据。
一、数组的作用:只要是批量的数据都需要使用数组声明
二、如何声明数组
1、快速声明数组
var 数组名=[元素1,元素2,....];
2、
三、遍历数组
四、数组的处理
<script> /*快速声明数组*/ /* var names=["张三","李四","王五"]; var arrs=[ ["111","222"], ["aaa","bbb"] ]; alert(names[1]); alert(arrs[1][1]); */ /* 对象类型的声明 */ /* var p=new Object(); p.name="zhangsan"; p.age=10; p.sex="nan"; */ /* json表示法: {属性1:值,属性2:值2 ...} var p={ "name":"zhangsan", "age":10, "sex":"nan" }; */ /* var p={ "name":"zhangsan", "age":10, "sex":"nan" }; alert(p.name); alert(p["name"]); */ //对象的这种表示方式是不是像一个数组,所以我们模拟出数组的一种方式。 /*function myArray(){ var o=new Object(); o.length=arguments.length; if (o.length>0){ for(var i=0;i<arguments.length;i++){//这里要注意,如果属性是变量不可以使用.的方式,一定要使用[]属性的方式才可以 o[i]=arguments[i]; } } return o; } var myArray=new myArray(1,2,5,7,9); alert(myArray.length); alert(myArray[1]); */ /*既然连我们都可以模拟出一个数组对象,更何况大牛们,所以JavaScript为我们提供了一个数组对象:Array*/ /* var arr=new Array(10); alert(arr.length); alert(arr[1]);//数组的元素如果没有值,默认是undefined */ /*s Array对象的一些方法与属性: 属性:length 返回数组的长度 方法: concat([item1[, item2[, . . . [, itemN]]]]) 将多个数组组合成一个数组 join(separator)返回由指定分割符隔开的数组内容的字符串形式 reverse() 将数组元素反转,逆序 slice(start[,end])截取数组。如果end不填,返回的是从start下标到结尾的数组对象。如果end为正数,截取的就是区间[start,end),如果end是负数,表示倒数第几位 splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])从数组指定位置移除指定长度的元素,可以在移除的位置插入新元素,返回所移除的元素,item1...是可变参 sort();排序数组元素,默认使用自然排序。可以传入一个比较方法,类似于treeMap中的比较器对象 push(([item1 [item2 [. . . [itemN ]]]]))加入元素在结尾,返回数组的长度 pop() 将数组视为栈结构,删除结尾元素 shift()将数组视为队列结构,删除第一个一个元素是从第一个位置开始删除 unshift([item1[, item2 [, . . . [, itemN]]]]),参数是可变参,添加元素在开始位置,顺序与参数顺序一致 */ //var arr1=[1,8,3,6,7]; //var arr2=[2,3,4,2]; //var arr3=arr1.concat(arr2); //alert(arr3); //alert(arr3.join("-")); //alert(arr1.reverse()); //alert(arr1.splice(1,2)); //alert(arr1.slice(2,3)); //alert(arr1.sort()); //依据字符串长度排序 var arr1=["aa","aaaa","bbb","e","bbbbb"]; /* arr1.sort(function(a,b){ if(a.length>b.length){ return -1; }else if(a.length==b.length){ return 0; }else{ return 1; } }); alert(arr1); */ arr1.push("bk"); alert(arr1); arr1.pop(); alert(arr1); arr1.unshift("ss"); alert(arr1); arr1.shift(); alert(arr1); </script>
<html> <head> </head> <body> </body> </html> <script> //需求:实现贪吃蛇的地图以及蛇起点和食物坐标的位置 /* 分析: 地图怎么做呢? 使用div,然后给背景颜色,div固定长宽,背景,边框,定位,作为一个格子。由多个格子组成地图 起始格子和食物格子怎么做呢? 也是div,这个使用随机数,所有的格子组成一个二维数组。随机获取一个坐标,然后背景颜色改变。 */ var rows=20; var cols=20; var width=20; var height=20; var top=100; var left=500; //var bg="yellow"; var arr=new Array(rows); for(var i=0;i<arr.length;i++){ var temp=new Array(cols); for(var j=0;j<temp.length;j++){ temp[j]=0; } arr[i]=temp; } //alert(arr); var row1=random(rows); var col1=random(cols); arr[row1][col1]=1; do{ var row2=random(rows); var col2=random(cols); }while(row2==row1 || col2==col1) arr[row2][col2]=2; //alert(row1+"--"+col1); function random(a){ return parseInt(Math.random()*a); } for(var j=0;j<rows;j++){ for(var i=0;i<cols;i++){ if(arr[j][i]==1) var bg="red"; else if(arr[j][i]==2) var bg="blue"; else var bg="yellow"; document.write("<div style=‘background-color:"+bg+";position:absolute;top:"+(100+j*height)+"px;left:"+(left+i*width)+"px;width:"+width+"px;height:"+height+"px;border: 1px white solid;‘></div>"); } } </script>
标签:
原文地址:http://www.cnblogs.com/aigeileshei/p/5615919.html