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>

js数组的声明与应用的更多相关文章

  1. js数组学习整理

    原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...

  2. js 数组

    js中的数组类似与java中的容器 类型可以不同.长度可变 一.数组的声明 var arr1=new Array();//数组的声明一     var arr2=[1,2,3,true,new Dat ...

  3. js数组操作

    用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学! ...

  4. js数组操作【转载】

    用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多,自以为js高手的自己居然无从下手,一下狠心,我学!呵 ...

  5. js数组的操作 【转】

    用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学! ...

  6. js数组的操作及数组与字符串的相互转化

    数组与字符串的相互转化 <script type="text/javascript">var obj="new1abcdefg".replace(/ ...

  7. JS数组及内置对象

    [JS中的数组]1.数组的概念:数组是在内存中连续存储多个有序元素的结构元素的顺序,称为下标,通过下标查找对应元素.2.数组的声明: ① 字面量声明: var arr1 = [];JS中同一数组,可以 ...

  8. js 数组的操作

    js数组的操作 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多,自以为js高手的自己居然无从下手,一 ...

  9. C#数组、js数组、json

    C#数组 参考地址C#之数组 什么是数组?数组是一种数据结构,包含同一个类型的多个元素.数组的声明:int[] myIntArray; 注:声明数组时,方括号 [] 必须跟在类型后面,而不是变量名后面 ...

随机推荐

  1. HDU4831&&4832&&4834

    好久没打代码啦,今天lu一发百度之星,感觉还是学到不少东西的,写点收获. 第一题就是现在的HDU4831啦,题意很清楚,我一开始以为休息区也可以变为风景区,所以就不敢敲了,后来才得知数据里只会改风景区 ...

  2. [你必须知道的.NET]第二十九回:.NET十年(上)

    发布日期:2009.05.08 作者:Anytao © 2009 Anytao.com ,Anytao原创作品,转贴请注明作者和出处. /// <summary> /// 本文部分内容,已 ...

  3. Codeforces Round #337 (Div. 2) A. Pasha and Stick 水题

    A. Pasha and Stick   Pasha has a wooden stick of some positive integer length n. He wants to perform ...

  4. 【poj2478-Farey Sequence】递推求欧拉函数-欧拉函数的几个性质和推论

    http://poj.org/problem?id=2478 题意:给定一个数x,求<=x的数的欧拉函数值的和.(x<=10^6) 题解:数据范围比较大,像poj1248一样的做法是不可行 ...

  5. MyBatis学习总结_03_优化MyBatis配置文件中的配置

    一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version=" ...

  6. 在CentOS下面编译WizNote Qt Project

    编译环境 CentOS 64位 Desktop 版本:6.5 编译前的准备: CentOS的用户默认没有root权限,如果当前用户没有权限root,则可以在终端里面执行下面的命令: su root s ...

  7. swift:入门知识之函数与闭包

    1.swift中使用关键字func来声明和定义一个函数.调用函数使用它的名字加上小括号中的参数列表. 2.swift使用->方向符号分隔参数的名字和返回值类型 3.swift使用元组(tuple ...

  8. post提交/文件上传服务器修改

    第一步:修改在php5下POST文件大小的限制   1.编修php.ini   找到:max_execution_time = 30 ,这个是每个脚本运行的最长时间,单位秒,修改为: max_exec ...

  9. bootstrap table 服务器端分页例子

    1,前台引入所需的js 可以从官网上下载 function getTab(){ var url = contextPath+'/fundRetreatVoucher/fundBatchRetreatV ...

  10. Linux下安装Python-3.3.2【转】

    # 下载最新版本 cd /usr/local/src/ sudo wget http://www.python.org/ftp/python/3.3.2/Python-3.3.2.tar.bz2 su ...