浅谈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 相关文章推荐
JQuery this 和 $(this) 的区别
Aug 23 Javascript
jquery 图片轮换效果
Jul 29 Javascript
ajax的hide隐藏问题解决方法
Dec 11 Javascript
jQuery siblings()用法实例详解
Apr 26 Javascript
Vue键盘事件用法总结
Apr 18 Javascript
javascript浏览器用户代理检测脚本实现方法
Oct 27 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
Apr 17 Javascript
vue里的data要用return返回的原因浅析
May 28 Javascript
小程序click-scroll组件设计
Jun 18 Javascript
JavaScript中的连续赋值问题实例分析
Jul 12 Javascript
微信小程序实现一张或多张图片上传(云开发)
Sep 25 Javascript
Javascript如何实现双指控制图片功能
Feb 25 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上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
PHP中static关键字原理的学习研究分析
2011/07/18 PHP
php木马webshell扫描器代码
2012/01/25 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
php打包网站并在线压缩为zip
2016/02/13 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
JavaScript sup方法入门实例(把字符串显示为上标)
2014/10/20 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
js实现横向伸展开的二级导航菜单代码
2015/08/28 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
vue项目中自定义video视频控制条的实现代码
2020/04/26 Javascript
JS实现多选框的操作
2020/06/24 Javascript
[05:00]第二届DOTA2亚洲邀请赛主赛事第三天比赛集锦.mp4
2017/04/04 DOTA
python 回调函数和回调方法的实现分析
2016/03/23 Python
python实现kMeans算法
2017/12/21 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
django实现日志按日期分割
2020/05/21 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
CSS3教程(4):网页边框和网页文字阴影
2009/04/02 HTML / CSS
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
英文简历中的自我评价
2013/10/06 职场文书
文秘个人求职信范文
2014/04/22 职场文书
小学语文课后反思精选
2014/04/25 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
主持人大赛开场白
2015/05/29 职场文书
深入浅析Redis 集群伸缩原理
2021/05/15 Redis
JavaScript实现简单计时器
2021/06/22 Javascript
常用的Python代码调试工具总结
2021/06/23 Python
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS