浅谈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 相关文章推荐
由prototype_1.3.1进入javascript殿堂-类的初探
Nov 06 Javascript
JavaScript网页制作特殊效果用随机数
May 22 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
Nov 24 Javascript
jQuery实现手机上输入后隐藏键盘功能
Jan 04 Javascript
JS实现字符串中去除指定子字符串方法分析
May 17 Javascript
微信小程序实现倒计时补零功能
Jul 09 Javascript
Vue项目添加动态浏览器头部title的方法
Jul 11 Javascript
微信小程序实现签到功能
Oct 31 Javascript
js变量声明var使用与不使用的区别详解
Jan 21 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
Dec 10 Javascript
vue+AI智能机器人回复功能实现
Jul 16 Javascript
解决vue scoped html样式无效的问题
Oct 24 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/02/05 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
微信access_token的获取开发示例
2015/04/16 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
js鼠标滑过图片震动特效的方法
2015/02/17 Javascript
javascript实现图片循环渐显播放的方法
2015/02/24 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
jQuery实现搜索页面关键字的功能
2017/02/16 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Pycharm无法使用已经安装Selenium的解决方法
2018/10/13 Python
详解程序意外中断自动重启shell脚本(以Python为例)
2019/07/26 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
新东网科技Java笔试题
2012/07/13 面试题
日期和时间问题
2015/01/04 面试题
安全责任书范文
2014/03/12 职场文书
幼儿园毕业寄语
2014/04/03 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
Redis分布式锁Redlock的实现
2021/08/07 Redis
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技