老生常谈JavaScript数组的用法


Posted in Javascript onJune 10, 2016

JavaScript数组简介

JavaScript中的数组与其他语言中的数组是不同的,主要体现在:

数组中存储的各项可以是不同类型的数据

数组的大小是动态变化的,当新增项时或移除项时可以动态的改变大小来容纳当前数据项

在JavaScript中创建数组

在JavaScript中创建数组有两种方式:

其一:调用数组的构造函数

var a = new Array(3);//创建一个长度为3的数组

var a = new Array(1,2,3)//创建一个数组内容为1,2,3的数组

另外,通过构造函数创建数组时也可以省略new 关键字,效果与带new相同

其二:使用字面值法创建(使用这种方法创建数组不会调用数组的构造方法)

Var a = [1,2,3]

判断一个对象是否为数组

在JavaScript中判断一个对象是否是数组有两种方法:

老生常谈JavaScript数组的用法

JavaScript数组的属性与方法

Length属性

在JavaScript中数组的length属性返回数组的长度,该属性既可以读亦可以写

length-i: 将数组从后往前删除i个元素

length+i: 在数组的尾部增加i个元素(未初始化前均为underfine)

栈方法

Push方法:

老生常谈JavaScript数组的用法

Pop方法:

数组非Pop方法返回数组中的最后一项(注意:只是返回最后一项而不影响原数组)

老生常谈JavaScript数组的用法

队列方法

Shift方法: 移除数组的第一项并返回,同时使数组的长度减1

老生常谈JavaScript数组的用法

结合使用push()和 shift()方法,便可以像队列一样的操作数组

Unshift方法:在数组的前端添加任意个项并返回数组的长度

老生常谈JavaScript数组的用法

结合使用unshift()和pop()方法可以像操作反向队列似得操作数组

数组的排序方法

Sort方法对数组进行排序(按照ASCII码表)

老生常谈JavaScript数组的用法

此外还可以为sort()还可以指定一个比较函数

老生常谈JavaScript数组的用法

倒序排列函数reverse():

老生常谈JavaScript数组的用法

不调用reverse,手动实现倒序排列:

老生常谈JavaScript数组的用法

操作方法

concat()方法:如果没有参数则返回当前数组的副本,如果参数是一个数组,则将参数数组中的每一项都添加到当前数组副本的末尾,然后返回该副本,如果参数不是数组,则将参数添加到当前数组副本的末尾并返回该副本

老生常谈JavaScript数组的用法

slice()方法:将当前数组中的一项或多项作为一个新数组返回(不影响当前原数组)

老生常谈JavaScript数组的用法

splice()方法:(注意:该方法在原数组操作)

老生常谈JavaScript数组的用法

位置方法indexof()和lastindexof()

Indexof(startindex,item):在当前数组中startindex(如果没有startindex则从头开始搜索)从前往后搜素item,并返回第一个item的索引,如果没有查询到item则返回-1

Lastindexof(startindex,item):用法同indexof,但是从后往前搜索

减少方法

reduce和reduceright:

reduce(callback,缩小基础的初始值(可选)),回调函数可以接受四个参数(pre,cur,index,arr),分别表示前一个值、当前值、项索引,数组对象,这个函数的返回结果自动作为参数传递给下一项

reduceright()用法同reduece,但reduceright是从后往前迭代的

老生常谈JavaScript数组的用法

迭代方法

老生常谈JavaScript数组的用法

以上这篇老生常谈JavaScript数组的用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript实例教程(19) 使用HoTMetal(5)
Dec 23 Javascript
jQuery ajax调用WCF服务实例
Jul 16 Javascript
JavaScript严格模式禁用With语句的原因
Oct 20 Javascript
jQuery的ready方法详解
Nov 27 Javascript
分享10个优化代码的CSS和JavaScript工具
May 11 Javascript
Angularjs之filter过滤器(推荐)
Nov 27 Javascript
JS 组件系列之BootstrapTable的treegrid功能
Jun 16 Javascript
学习JS中的DOM节点以及操作
Apr 30 Javascript
vue-form表单验证是否为空值的实例详解
Oct 29 Javascript
Vue数据双向绑定原理实例解析
May 15 Javascript
vue+Element-ui实现登录注册表单
Nov 17 Javascript
微信小程序实现简单购物车功能
Dec 30 Javascript
jquery输入数字随机抽奖特效的简单实现代码
Jun 10 #Javascript
jQuery学习心得总结(必看篇)
Jun 10 #Javascript
修改js confirm alert 提示框文字的简单实例
Jun 10 #Javascript
由简入繁实现Jquery树状结构的方法(推荐)
Jun 10 #Javascript
3kb jQuery代码搞定各种树形选择的实现方法
Jun 10 #Javascript
关于网页中的无缝滚动的js代码
Jun 09 #Javascript
Document.body.scrollTop的值总为零的快速解决办法
Jun 09 #Javascript
You might like
海贼王动画变成“真人”后,凯多神还原,雷利太帅了!
2020/04/09 日漫
基于mysql的论坛(7)
2006/10/09 PHP
PHP 数据库树的遍历方法
2009/02/06 PHP
ThinkPHP路由详解
2015/07/27 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
短信提示使用 特效
2007/01/19 Javascript
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
PHP和NodeJs开发的应用如何共用Session
2015/04/16 NodeJs
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
Bootstrap实现登录校验表单(带验证码)
2016/06/23 Javascript
Bootstrap栅格系统的使用和理解2
2016/12/14 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
jQuery插件imgAreaSelect基础讲解
2017/05/26 jQuery
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
js使用formData实现批量上传
2020/03/27 Javascript
vue微信分享出来的链接点开是首页问题的解决方法
2018/11/28 Javascript
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
Zabbix实现微信报警功能
2016/10/09 Python
django框架之cookie/session的使用示例(小结)
2018/10/15 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
CSS3模块的目前的状况分析
2010/02/24 HTML / CSS
七年级音乐教学反思
2014/01/26 职场文书
土木工程专业推荐信
2014/02/19 职场文书
学生会主席竞聘书
2014/03/31 职场文书
歌颂祖国的演讲稿
2014/05/04 职场文书
美术社团活动总结
2014/06/27 职场文书
学习退步检讨书
2014/09/28 职场文书
领导班子四风问题个人对照检查材料
2014/10/04 职场文书
付款证明模板
2015/06/19 职场文书
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS