浅谈Javascript数组(推荐)


Posted in Javascript onMay 17, 2016

在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活、强大,不像是Java等强类型高级语言数组只能存放同一类型或其子类型元素,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改。

首先,大概说说数组的基本用法。

 数组,即Array类型,是开发中最常用的类型之一,javascript中的数组和其他语言最大的区别就是每一项可以保存任何类型的数据,而且数组的大小是可以动态调整的,有点绕?看看代码吧

 1.数组的创建:

var arr=new Array(20);
var arr1=["小伞",1,true,undefined,[2,"王"],""]

第一行用数组构造法创建了一个length值为20的数组,第二行用数组字面量表示法创建了一个多种数据类型并存的数组。

第一行的方法有点小坑,括号里指定的是数组的长度,而不是数组第一个元素是20 ,要想创建有一个元素是20的这么一个数组,还是用字面量法创建吧。

还有一个小坑,看代码

var arr=[1,2,];
var arr1=[,,,,,]

第一行这句会在IE8以及之前版本中创建一个值分别为1,2,undefined的数组,其他浏览器会产生一个两项分别是1,2的数组

第二行同样的可能会在不同浏览器上包含5项或者6项。(IE9以上修复了这个问题,但还是不推荐这种写法)

2.数组元素的基本操作

js的数组非常的灵活,拥有很多数组元素操作的方法,但也有一些小坑,比如:

var arr=[];
arr[0]=1;arr[1]=2;arr.push(3); //arr=[1,2,3]arr[arr.length]=4; //arr=[1,2,3,4]arr.unshift(0); //arr=[0,1,2,3,4];delect arr[2]; //arr=[0,1,undefined,3,4]arr[0]=undefined //arr=[undefined,1,undefined,3,4]

push()方法会给数组最后边添加一个元素,得到的值可以看注释,^_^

也可以直接手动在数组下标拓展以为,如第三行,其实就相当于push(4);
那如果想在数组元素最前边添加呢,别急,有unshift()方法。

与此对应的有删除元素的pop()方法和shift()方法,分别和push(),unshift()对应,就不再赘述了。

delect 运算符对数组的操作不会删除掉数组的元素,可以说是用undefined来占个位子,和直接赋值是一样的。

 3.稀疏数组

稀疏数组是指数组的下标并不是从0开始,一般数组的长度要比元素的个数要多:

var arr1=[undefined];
var arr2=new Array(1);
0 in arr1; //true
0 in arr2; //false
var arr3=new Array(100);
arr3[99]="赋值";
99 in arr3; //true
98 in arr3; //false

arr1中是因为数组第1列是有值的,虽然是undefined,arr2只是指定了数组长度,第1列还是没有值,所以用in语句会返回false。arr3中给第第100个元素赋值后检测是有值的,对其他列的key是没有影响的,所以还是返回了false。

以上所述是小编给大家介绍的Javascript数组的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS添加删除一组文本框并对输入信息加以验证判断其正确性
Apr 11 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
Feb 10 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
Aug 06 Javascript
使用jQuery实现WordPress中的Ctrl+Enter和@评论回复
May 21 Javascript
AngularJS的脏检查深入分析
Apr 22 Javascript
vue 请求后台数据的实例代码
Jun 22 Javascript
Node.js 使用jade模板引擎的示例
May 11 Javascript
微信小程序视图控件与bindtap之间的问题的解决
Apr 08 Javascript
手把手带你入门微信小程序新框架Kbone的使用
Feb 25 Javascript
原生JavaScript写出Tabs标签页的实例代码
Jul 20 Javascript
javascript实现页面的实时时钟显示示例
Aug 06 Javascript
React倒计时功能实现代码——解耦通用
Sep 18 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
May 17 #Javascript
javascript css红色经典选项卡效果实现代码
May 17 #Javascript
JS获取IMG图片高宽的简单实例
May 17 #Javascript
简单的分页代码js实现
May 17 #Javascript
Js获取图片原始宽高的实现代码
May 17 #Javascript
创建一个类Person的简单实例
May 17 #Javascript
jQuery Mobile操作HTML5的常用函数总结
May 17 #Javascript
You might like
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
PHP解析html类库simple_html_dom的转码bug
2014/05/22 PHP
smarty半小时快速上手入门教程
2014/10/27 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
jQuery中复合属性选择器用法实例
2014/12/31 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
2017/04/21 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
html中创建并调用vue组件的几种方法汇总
2020/11/17 Javascript
Python os模块学习笔记
2015/06/21 Python
Python控制多进程与多线程并发数总结
2016/10/26 Python
Python处理文本文件中控制字符的方法
2017/02/07 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
OpenCV 边缘检测
2019/07/10 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
python实现图片转字符画的完整代码
2021/02/21 Python
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
英国电器零售商:PRC Direct
2018/06/21 全球购物
Genny意大利官网:意大利高级时装品牌
2020/04/15 全球购物
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
2014/03/05 面试题
Java语言程序设计测试题改错题部分
2014/07/22 面试题
上班玩手机检讨书
2014/02/17 职场文书
大学生暑期社会实践证明范本
2014/10/24 职场文书
计算机实训报告总结
2014/11/05 职场文书
员工家属慰问信
2015/03/24 职场文书