浅谈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 相关文章推荐
使用js 设置url参数
Jul 08 Javascript
JS制作简单的三级联动
Mar 18 Javascript
AngularJS基础教程之简单介绍
Sep 27 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
Jul 21 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
Oct 14 Javascript
JavaScript中String对象的方法介绍
Jan 04 Javascript
jquery.form.js异步提交表单详解
Apr 25 jQuery
浅谈angular4生命周期钩子
Sep 05 Javascript
js截取字符串功能的实现方法
Sep 27 Javascript
Vue Element使用icon图标教程详解(第三方)
Feb 07 Javascript
vue 更改连接后台的api示例
Nov 11 Javascript
JavaScript原始值与包装对象的详细介绍
May 11 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
PHP小程序自动提交到自助友情连接
2009/11/24 PHP
本地计算机无法启动Apache故障处理
2014/08/08 PHP
PHP将HTML转换成文本的实现代码
2015/01/21 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
JavaScript的面向对象方法以及差别
2008/03/31 Javascript
JavaScript中for..in循环陷阱介绍
2013/11/12 Javascript
jquery带下拉菜单和焦点图代码分享
2015/08/24 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
快速解决Vue项目在IE浏览器中显示空白的问题
2018/09/04 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
element-ui 中使用upload多文件上传只请求一次接口
2019/07/19 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
[01:41]DOTA2超级联赛专访YYF 称一辈子难忘TI2
2013/05/28 DOTA
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
python实现统计代码行数的方法
2015/05/22 Python
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
Python交互环境下实现输入代码
2018/06/22 Python
Django之创建引擎索引报错及解决详解
2019/07/17 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
入党积极分子自我鉴定范文
2014/03/25 职场文书
户籍证明模板
2014/09/28 职场文书
机械专业毕业生自我鉴定2014
2014/10/04 职场文书
老公保证书怎么写
2015/02/26 职场文书
民事代理词范文
2015/05/25 职场文书