老生常谈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中处理时间之getHours()方法的使用
Jun 10 Javascript
JavaScript常用基础知识强化学习
Dec 09 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
Apr 05 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
Jun 21 Javascript
简单理解Vue条件渲染
Dec 03 Javascript
jQuery实现页面顶部下拉广告
Dec 30 Javascript
angular bootstrap timepicker TypeError提示怎么办
Jun 13 Javascript
微信小程序自定义导航隐藏和显示功能
Jun 13 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
Aug 06 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
Jun 11 Javascript
vue 实现click同时传入事件对象和自定义参数
Jan 29 Vue.js
详解如何在Canvas中添加事件的方法
Apr 17 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
PHP实现网上点歌(二)
2006/10/09 PHP
Prototype Function对象 学习
2009/07/12 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
基于mootools插件实现遮罩层新手引导
2012/05/24 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
2013/03/05 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
2015/04/21 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
javascript简易画板开发
2020/04/12 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
微信小程序实现图片上传放大预览删除代码
2020/06/28 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
JS实现密码框效果
2020/09/10 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
python超简单解决约瑟夫环问题
2015/05/12 Python
Python脚本文件打包成可执行文件的方法
2015/06/02 Python
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
2015/08/16 Python
Python3实现并发检验代理池地址的方法
2016/09/18 Python
python pygame实现2048游戏
2018/11/20 Python
python批量修改ssh密码的实现
2019/08/08 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
python实现超市管理系统(后台管理)
2019/10/25 Python
详解Python实现进度条的4种方式
2020/01/15 Python
python mysql中in参数化说明
2020/06/05 Python
python中字典增加和删除使用方法
2020/09/30 Python
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
数控技术与应用毕业生自荐信
2013/09/24 职场文书
精神文明建设先进工作者事迹材料
2014/05/02 职场文书
经典演讲稿汇总
2014/05/19 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
Python语言内置数据类型
2022/02/24 Python
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers