浅谈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 相关文章推荐
基于jquery的划词搜索实现(备忘)
Sep 14 Javascript
jquery each()源代码
Feb 14 Javascript
关于JavaScript中的关联数组分析
Apr 09 Javascript
jQuery+ajax中getJSON() 用法实例
Dec 22 Javascript
jQuery自定义添加"$"与解决"$"冲突的方法
Jan 19 Javascript
jQuery源码解读之removeClass()方法分析
Feb 20 Javascript
jQuery实现宽屏图片轮播实例教程
Nov 24 Javascript
javascript中json对象json数组json字符串互转及取值方法
Apr 19 Javascript
详解使用React进行组件库开发
Feb 06 Javascript
解决 window.onload 被覆盖的问题方法
Jan 14 Javascript
javascript实现贪吃蛇经典游戏
Apr 10 Javascript
微信小程序实现简单文字跑马灯
May 26 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 基础教程(一)
2006/10/09 PHP
php文件怎么打开 如何执行php文件
2011/12/21 PHP
PHP错误提示的关闭方法详解
2013/06/23 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
解密效果
2006/06/23 Javascript
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
jquery的$(document).ready()和onload的加载顺序
2010/05/26 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
JavaScript获取多个数组的交集简单实例
2013/11/11 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
vue 组件中slot插口的具体用法
2018/04/03 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
微信小程序按顺序同步执行的两种方式
2019/12/20 Javascript
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
Django框架教程之正则表达式URL误区详解
2018/01/28 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
2018/05/16 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
Python进阶:生成器 懒人版本的迭代器详解
2019/06/29 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
python Xpath语法的使用
2020/11/26 Python
Python如何telnet到网络设备
2021/02/18 Python
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
继承公证书样本
2014/04/04 职场文书
经典的毕业生自荐信范文
2014/04/14 职场文书
抽样调查项目计划书
2014/04/24 职场文书
结对共建工作方案
2014/06/02 职场文书
党员争先创优承诺书
2015/01/20 职场文书
Python如何把不同类型数据的json序列化
2021/04/30 Python