浅谈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 相关文章推荐
asp.net HttpHandler实现图片防盗链
Nov 09 Javascript
javascript与webservice的通信实现代码
Dec 25 Javascript
jQuery ui插件的使用方法代码实例
May 08 Javascript
JS操作数据库的实例代码
Oct 17 Javascript
轻松实现jquery选项卡切换效果
Oct 10 Javascript
Node.js学习入门
Jan 03 Javascript
angularjs中使用ng-bind-html和ng-include的实例
Apr 28 Javascript
利用JS做网页特效_大图轮播(实例讲解)
Aug 09 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
Dec 11 Javascript
jQuery实现左右滑动的toggle方法
Mar 03 jQuery
Vue中使用 setTimeout() setInterval()函数的问题
Sep 13 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
Apr 30 jQuery
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
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
2013/06/02 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
PHP批量去除BOM头代码分享
2015/06/26 PHP
php基于PDO实现功能强大的MYSQL封装类实例
2017/02/27 PHP
PHP模型Model类封装数据库操作示例
2019/03/14 PHP
javascript下过滤数组重复值的代码
2007/09/10 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
python的id()函数介绍
2013/02/10 Python
利用Pycharm断点调试Python程序的方法
2018/11/29 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
python标准库OS模块详解
2020/03/10 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
Pycharm自带Git实现版本管理的方法步骤
2020/09/18 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
基于html5实现的图片墙效果
2014/10/16 HTML / CSS
外贸员简历中的自我评价
2014/03/04 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
项目转让协议书
2014/10/27 职场文书
幼师求职自荐信
2015/03/26 职场文书
2015人事行政工作总结范文
2015/05/21 职场文书
js基础语法与maven项目配置教程案例
2021/07/15 Javascript
Python初识逻辑与if语句及用法大全
2021/08/07 Python