浅谈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获取元素在浏览器中的绝对位置
Jul 24 Javascript
javascript控制swfObject应用介绍
Nov 29 Javascript
手机号码,密码正则验证
Sep 04 Javascript
JavaScript返回0-1之间随机数的方法
Apr 06 Javascript
AngularJS基础学习笔记之控制器
May 10 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
Feb 20 Javascript
ES6数组的扩展详解
Apr 25 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
Aug 17 Javascript
微信小程序简单实现form表单获取输入数据功能示例
Nov 30 Javascript
vue地区选择组件教程详解
May 04 Javascript
Element-ui中元素滚动时el-option超出元素区域的问题
May 30 Javascript
JavaScript 实现同时选取多个时间段的方法
Oct 17 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 无法载入mysql扩展
2010/03/12 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
PHP错误Warning:mysql_query()解决方法
2015/10/24 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
使用vue.js开发时一些注意事项
2016/04/27 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
2017/07/27 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
javascript实现评分功能
2020/06/24 Javascript
three.js 将图片马赛克化的示例代码
2020/07/31 Javascript
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
使用Python开发windows GUI程序入门实例
2014/10/23 Python
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
python如何实现DES加密
2020/09/21 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
澳大利亚百货商店中销量第一的商务衬衫品牌:Van Heusen
2018/07/26 全球购物
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
医药工作者的求职信范文
2013/09/21 职场文书
售后服务经理岗位职责
2014/02/25 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
2015年幼儿教育工作总结
2015/07/24 职场文书
史上最全书信经典范文大全(建议收藏)
2019/07/10 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
如何在Python中妥善使用进度条详解
2022/04/05 Python
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
2022/04/12 PostgreSQL