浅谈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 相关文章推荐
破解Session cookie的方法
Jul 28 Javascript
扩展javascript的Date方法实现代码(prototype)
Nov 20 Javascript
使用JS进行目录上传(相当于批量上传)
Dec 05 Javascript
jQuery中绑定事件的命名空间详解
Apr 05 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
Oct 16 Javascript
浅谈JS使用[ ]来访问对象属性
Sep 21 Javascript
微信小程序  自定义创建详细介绍
Oct 27 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
Mar 30 Javascript
移动端网页开发调试神器Eruda的介绍与使用技巧
Oct 30 Javascript
vue组件父子间通信详解(三)
Nov 07 Javascript
Parcel 打包示例(React HelloWorld)
Jan 16 Javascript
详解vue项目中调用百度地图API使用方法
Apr 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读取csv文件内容的详解
2013/06/18 PHP
php验证邮箱和ip地址最简单方法汇总
2015/10/30 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
2016/05/31 PHP
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
jQuery EasyUI API 中文文档 - Form表单
2011/10/06 Javascript
基于jquery的拖动布局插件
2011/11/25 Javascript
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
JavaScript中诡异的delete操作符
2015/03/12 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
AngularJs Understanding the Model Component
2016/09/02 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
vue this.reload 方法 配置
2018/09/12 Javascript
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
Python程序员鲜为人知但你应该知道的17个问题
2014/06/04 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
打包PyQt5应用时的注意事项
2020/02/14 Python
python实现发送QQ邮件(可加附件)
2020/12/23 Python
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
美国男士内衣品牌:Tommy John
2017/12/22 全球购物
毕业生求职推荐信
2013/11/04 职场文书
大学生简历的个人自我评价
2013/12/04 职场文书
机械设计毕业生自荐信
2014/02/02 职场文书
眼镜促销方案
2014/03/15 职场文书
委托公证书
2014/04/08 职场文书
李敖北大演讲稿
2014/05/24 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
大学教师个人总结
2015/02/10 职场文书
2016年春季开学典礼新闻稿
2015/11/25 职场文书
Flask搭建一个API服务器的步骤
2021/05/28 Python