老生常谈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 相关文章推荐
Extjs4 关于Store的一些操作(加载/回调/添加)
Apr 18 Javascript
JS实现的省份级联实例代码
Jun 24 Javascript
理解Javascript闭包
Nov 01 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
Dec 06 Javascript
JavaScript实现三阶幻方算法谜题解答
Dec 29 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
Apr 02 Javascript
JavaScript正则表达式匹配 div  style标签
Mar 15 Javascript
Vue编写多地区选择组件
Aug 21 Javascript
详解webpack + react + react-router 如何实现懒加载
Nov 20 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
Apr 18 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
Sep 03 Javascript
详解vue高级特性
Jun 09 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
javascript动画效果类封装代码
2007/08/28 Javascript
javascript FormatNumber函数实现方法
2008/12/30 Javascript
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
JavaScript 更严格的相等 [译]
2012/09/20 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
JavaScript设计模式初探
2016/01/07 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
2016/05/31 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
koa router 多文件引入的方法示例
2019/05/22 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
python中os操作文件及文件路径实例汇总
2015/01/15 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
2017/01/20 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
Python实现Linux中的du命令
2017/06/12 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
python 字典操作提取key,value的方法
2019/06/26 Python
python实现代码统计器
2019/09/19 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
面向对象设计的原则是什么
2013/02/13 面试题
人力资源经理的岗位职责范本
2014/02/28 职场文书
销售主管竞聘书
2014/03/31 职场文书
培训讲师开场白
2015/06/01 职场文书
青年教师听课心得体会
2016/01/15 职场文书
MySQL系列之八 MySQL服务器变量
2021/07/02 MySQL
MySQL学习之基础命令实操总结
2022/03/19 MySQL
利用Python实现模拟登录知乎
2022/05/25 Python