浅谈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 相关文章推荐
经典的解除许多网站无法复制文字的绝招
Dec 31 Javascript
js getElementsByTagName的简写方式
Jun 27 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
Mar 12 Javascript
JavaScript实现添加及删除事件的方法小结
Aug 04 Javascript
javascript的理解及经典案例分析
May 20 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
Dec 14 Javascript
Angular实现图片裁剪工具ngImgCrop实践
Aug 17 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
Sep 14 Javascript
vue中rem的配置的方法示例
Aug 30 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
Jan 15 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 jQuery
js实现简易计算器小功能
Nov 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
PHP5中新增stdClass 内部保留类
2011/06/13 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
PHP实现一个限制实例化次数的类示例
2019/09/16 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
使用jQuery获得内容以及内容的属性
2015/02/26 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
浅谈jquery选择器 :first与:first-child的区别
2016/11/20 Javascript
RequireJS 依赖关系的实例(推荐)
2017/01/21 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
举例讲解Python中装饰器的用法
2015/04/27 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
Python绘制股票移动均线的实例
2019/08/24 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
如何通过python计算圆周率PI
2020/11/11 Python
Steve Madden官网:美国鞋类品牌
2017/01/29 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
心得体会开头
2014/01/01 职场文书
大学四年的个人自我评价
2014/01/14 职场文书
《理想》教学反思
2014/02/17 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
项目经理岗位职责
2015/01/31 职场文书
应届毕业生求职简历自我评价
2015/03/02 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书
2016银行求职自荐信
2016/01/28 职场文书
解决golang post文件时Content-Type出现的问题
2021/05/02 Golang
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技