浅谈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 相关文章推荐
javascript正则表达式基础知识入门
Apr 20 Javascript
jquery判断输入密码两次是否相等
Apr 22 Javascript
详解AngularJS中module模块的导入导出
Dec 10 Javascript
js点击文本框弹出可选择的checkbox复选框
Feb 03 Javascript
利用three.js画一个3D立体的正方体示例代码
Nov 19 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
Mar 07 Javascript
深入理解JavaScript的async/await
Aug 05 Javascript
浅谈webpack4.x 入门(一篇足矣)
Sep 05 Javascript
使用 webpack 插件自动生成 vue 路由文件的方法
Aug 20 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
Dec 20 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
Apr 14 Javascript
JS可断点续传文件上传实现代码解析
Jul 30 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
动易数据转成dedecms的php程序
2007/04/07 PHP
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
apache集成php7.3.5的详细步骤
2019/06/20 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
基于PHP实现短信验证码发送次数限制
2020/07/11 PHP
showModelessDialog()使用详解
2006/09/07 Javascript
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
JavaScript中的闭包原理分析
2010/03/08 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
jquery div拖动效果示例代码
2013/12/08 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
React.js入门学习第一篇
2016/03/30 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
Javascript表单特效之十大常用原理性样例代码大总结
2016/07/12 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
Python虚拟环境项目实例
2017/11/20 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
lululemon美国官网:瑜伽服+跑步装备
2018/11/16 全球购物
美国农场商店:Blain’s Farm & Fleet
2020/01/17 全球购物
车祸赔偿收入证明
2014/01/09 职场文书
技校毕业生自荐信
2014/06/03 职场文书
如何写早恋检讨书
2014/09/10 职场文书
个人查摆问题及整改措施
2014/10/16 职场文书
公司酒会主持词
2015/07/02 职场文书
AngularJS实现多级下拉框
2022/03/25 Javascript