老生常谈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 相关文章推荐
Lazy Load 延迟加载图片的 jQuery 插件
Feb 06 Javascript
JQuery.closest(),parent(),parents()寻找父结点
Feb 17 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
Jul 10 Javascript
javascript如何实现360度全景照片问题汇总
Apr 04 Javascript
JS组件Bootstrap按钮组与下拉按钮详解
May 10 Javascript
js多功能分页组件layPage使用方法详解
May 19 Javascript
jQuery中事件与动画的总结分享
May 24 Javascript
angularjs项目的页面跳转如何实现(5种方法)
May 25 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
Nov 15 Javascript
vue.js学习笔记之v-bind和v-on解析
May 03 Javascript
重新认识vue之事件阻止冒泡的实现
Aug 02 Javascript
axios实现简单文件上传功能
Sep 25 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
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
PHP警告Cannot use a scalar value as an array的解决方法
2012/01/11 PHP
使用php实现截取指定长度
2013/08/06 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
JS 自定义带默认值的函数
2011/07/21 Javascript
JQuery实现超链接鼠标提示效果的方法
2015/06/10 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
javascript每日必学之基础入门
2016/02/16 Javascript
基于JQuery实现分隔条的功能
2016/06/17 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
浅谈js中同名函数和同名变量的执行问题
2017/02/12 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
Python django实现简单的邮件系统发送邮件功能
2017/07/14 Python
python and or用法详解
2019/06/26 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
python实现ping命令小程序
2020/12/28 Python
CSS3 linear-gradient线性渐变生成加号和减号的方法
2017/11/21 HTML / CSS
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
Geekbuying波兰:购买中国电子产品
2019/10/20 全球购物
Parfumdreams芬兰:购买香水和化妆品
2021/02/13 全球购物
C++:局部变量能否和全局变量重名
2014/03/03 面试题
大专自我鉴定范文
2013/10/23 职场文书
新领导上任欢迎词
2014/01/13 职场文书
国培计划培训感言
2014/03/11 职场文书
中学生期中自我鉴定
2014/04/20 职场文书
卫生系统先进事迹
2014/05/13 职场文书
2014年前台个人工作总结
2014/11/14 职场文书
力克胡哲观后感
2015/06/10 职场文书
Jsonp劫持学习
2021/04/01 PHP
总结Python变量的相关知识
2021/06/28 Python