浅谈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 相关文章推荐
设置下载不需要倒计时cookie(倒计时代码)
Nov 19 Javascript
String.prototype实现的一些javascript函数介绍
Nov 22 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
Dec 29 Javascript
使用javascript做的一个随机点名程序
Feb 13 Javascript
一个仿糯米弹框效果demo
Jul 22 Javascript
TypeOf这些知识点你了解吗
Feb 21 Javascript
基于jquery实现三级下拉菜单
May 10 Javascript
JavaScript判断微信浏览器实例代码
Jun 13 Javascript
如何处理JSON中的特殊字符
Nov 30 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
Apr 11 Javascript
vue+Element-ui实现分页效果实例代码详解
Dec 10 Javascript
Vue自定义表单内容检查rules实例
Oct 30 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 chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
PHP 获取文件路径(灵活应用__FILE__)
2013/02/15 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
PHP实现数组array转换成xml的方法
2016/07/19 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
PHP设计模式之委托模式定义与用法简单示例
2018/08/13 PHP
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
angularjs指令之绑定策略(@、=、&)
2017/04/13 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
解决百度Echarts图表坐标轴越界的方法
2018/10/17 Javascript
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
小程序的上传文件接口的注意要点解析
2019/09/17 Javascript
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
Python切片工具pillow用法示例
2018/03/30 Python
详解用Python练习画个美队盾牌
2019/03/23 Python
关于python3中setup.py小概念解析
2019/08/22 Python
Python urlopen()和urlretrieve()用法解析
2020/01/07 Python
Python3 assert断言实现原理解析
2020/03/02 Python
Python高并发解决方案实现过程详解
2020/07/31 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
HTML5实现晶莹剔透的雨滴特效
2014/05/14 HTML / CSS
微软加拿大官方网站:Microsoft Canada
2019/04/28 全球购物
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
手机业务员岗位职责
2013/12/13 职场文书
公司培训心得体会
2014/01/03 职场文书
感恩教育月活动总结
2014/07/07 职场文书
赔偿协议书
2015/01/27 职场文书
2015年司机年终工作总结
2015/05/14 职场文书