浅谈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 相关文章推荐
文本框只能选择数据到文本框禁止手动输入
Nov 22 Javascript
jQuery的one()方法用法实例
Jan 19 Javascript
更高效的使用JQuery 这里总结了8个小技巧
Apr 13 Javascript
JS使用单链表统计英语单词出现次数
Jun 16 Javascript
AngularJS ng-app 指令实例详解
Jul 30 Javascript
jQuery的extend方法【三种】
Dec 14 Javascript
jQuery中的deferred对象和extend方法详解
May 08 jQuery
jQuery zTree树插件动态加载实例代码
May 11 jQuery
jQuery实现下拉菜单的实例代码
Jun 19 jQuery
如何理解Vue的.sync修饰符的使用
Aug 17 Javascript
vue如何进行动画的封装
Sep 26 Javascript
Vuex的实战使用详解
Oct 31 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中计算字符串相似度的函数代码
2012/12/29 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
一张表搞清楚php is_null、empty、isset的区别
2015/07/07 PHP
利用php输出不同的心形图案
2016/04/22 PHP
php array_map使用自定义的函数处理数组中的每个值
2016/10/26 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
2010/06/02 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
清除div下面的所有标签的方法
2014/02/17 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
浅析javascript的间隔调用和延时调用
2014/11/12 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
2015/11/30 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
JavaScript伪数组用法实例分析
2017/12/22 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
2019/06/17 Python
Python安装Bs4的多种方法
2020/11/28 Python
Europcar比利时:租车
2019/08/26 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
计算机专业自我鉴定
2013/10/15 职场文书
旷课检讨书1000字
2014/02/14 职场文书
师德师风的心得体会
2014/09/02 职场文书
初三语文教学计划
2015/01/22 职场文书
html粘性页脚的具体使用
2022/01/18 HTML / CSS