老生常谈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 相关文章推荐
jQuery模拟超链接点击效果代码
Apr 21 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
May 23 Javascript
基于Css3和JQuery实现打字机效果
Aug 11 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
Sep 14 Javascript
javascript九宫格图片随机打乱位置的实现方法
Mar 15 Javascript
Vue自定义toast组件的实例代码
Aug 15 Javascript
实用的Vue开发技巧
May 30 Javascript
js实现漂亮的星空背景
Nov 01 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
Dec 09 Javascript
JavaScript进阶(三)闭包原理与用法详解
May 09 Javascript
Vue基于iview table展示图片实现点击放大
Aug 05 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
Sep 10 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&mysql(五)
2006/10/09 PHP
PHP_Cooikes不同页面无法传递的解决方法
2014/03/07 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
jquery遍历select元素(实例讲解)
2013/12/31 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
浅谈angular懒加载的一些坑
2016/08/20 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
2017/02/15 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
使用electron将vue-cli项目打包成exe的方法
2018/09/29 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
JS中FormData类实现文件上传
2020/03/27 Javascript
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
用Python实现换行符转换的脚本的教程
2015/04/16 Python
python使用PyGame模块播放声音的方法
2015/05/20 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
2018/10/29 Python
python微信撤回监测代码
2019/04/29 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
python Timer 类使用介绍
2020/12/28 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
要账委托书范本
2014/09/15 职场文书
银行竞聘报告范文
2014/11/06 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书
解析CSS 提取图片主题色功能(小技巧)
2021/05/12 HTML / CSS
Redis三种集群模式详解
2021/10/05 Redis