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*//*sArray对象的一些方法与属性:属性: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>

View Code

<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";elsevar 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>

View Code

js数组的声明与应用相关推荐

  1. js声明数组 js数组如何获取真实对象 js数组处理null值情况 js数组通过下标赋值和push赋值的区别 loopback4的基础使用

    目录 问题来源 js数组 数组通过下标赋值 数组通过push赋值 总结 loopback4 安装 创建项目 项目启动 访问项目 创建HelloController 运行访问HelloControlle ...

  2. js array 删除指定元素_数组--学习笔记(数据结构数组 /js数组)

    学习目标: 了解什么是数组: 数组如何访问内存地址(一维,二维): 什么是数组 是由相同类型的元素的集合所组成的数据结构,分配一块连续的内存来存储.利用元素的索引可以计算出该元素对应的存储地址. 最简 ...

  3. 微信小程序js数组初始化_微信小程序学习Course 3-2 JS数组对象学习

    微信小程序学习Course 3-2 JS数组对象学习 本节主要介绍JS中的数组. 3-2.1 数组的声明 数组声明的方式多种,如下例.一般我们可以先创建一个空数组,然后再填充. var names = ...

  4. js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip

    js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会 ...

  5. 【转载】js数组的操作

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

  6. js 数组对象的操作方法

    js 数组对象的操作方法 在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多. 今天试过json[i].remove(),json.remove(i)之后都不行, ...

  7. js数组与字符串的相互转化

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

  8. 【JS数组 习题练习】

    知识点回顾:js数组 1.从以下学员名单中随机选出3个学员: ['隔壁小王', '同桌小李', '儿时小吴', '初恋小周', '红颜小赵'].注意:不要有重复的学员. var arr = ['隔壁小 ...

  9. JS 数组转对象 对象转数组 对象数组互相转换

    js 对象数组互相转换 数组转换为对象 JS 数组转对象 对象转数组 对象数组互相转换 数组对象互相转换 JS 数组转对象.对象转数组(针对嵌套深层次比较深的对象或者数组) JS 声明一个函数,arr ...

最新文章

  1. 电商抢购秒杀系统的设计_1_应用场景分析
  2. 工作中的感悟 (一)初来工作之感
  3. 1.1 什么是Hive
  4. atitit.表单验证 的dsl 本质跟 easyui ligerui比较
  5. bind简单转发实验
  6. linux中写脚本不能写中文,Linux系统中Sublime Text无法输入中文怎么办?
  7. Kudu : 插入无法获取主键冲突的异常
  8. 获取屏幕尺寸、状态栏、标题栏高度
  9. [ERROR CRI]: unable to check if the container runtime at “/var/run/dockershim.sock“
  10. 哨兵卫星影像数据Sentinel-1基本参数
  11. 流程图中的实线_流程图符号_流程图中的带箭头的线段代表什么?
  12. 以Maya为引擎的小游戏:是男Yin就坚持2K帧
  13. Java Swing实现高仿电脑版微信
  14. android4.4刷机教程,vivo Xshot升级 Android 4.4刷机教程
  15. 怎么查看笔记本内存条型号_笔记本如何加内存条之如何查看笔记本内存品牌和型号...
  16. 调频电视发射机工作原理
  17. Flutter ShowModalBottomSheet 自定义高度和滚动
  18. 8月30日科技联播:子弹短信总激活用户超过400万,亚马逊将成第2个万亿美元市值企业...
  19. 2_STM32最小系统设计
  20. 中国三千多省市区地名SQL

热门文章

  1. 配置Andriod环境变量
  2. huggingface实操_Transformers 简介(上)
  3. less 函数_Python中的函数式编程教程,学会用一行代码搞定所有内容
  4. 神策学堂发布——你有一份数据驱动指南待查收
  5. 融 360、中邮消费金融、作业帮分享数据分析产品选型心得
  6. Memtest86-7.1内存测试工具
  7. 奥委会主席巴赫与马云对谈:阿里巴巴能将奥运精神带进科技时代
  8. 通过 netty 实现异步任务回调获取执行结果
  9. iOS - OC 与 C 互相操作
  10. mysql字段timestamp为空映射报错处理