位置: 编程技术 - 正文

JavaScript之数组(Array)详解(javascript数组有哪些方法)

编辑:rootadmin

推荐整理分享JavaScript之数组(Array)详解(javascript数组有哪些方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript中数组的方法,javascript数组操作,javascript数组操作方法,javascript 数组,javascript 数组,js数组entries,javascript数组操作方法,javascript数组操作方法,内容如对您有帮助,希望把文章链接给更多的朋友!

ECMAScript的数组与其他语言中的数组有着相当大的区别。虽然ECMAScript中的数组也是有序列表,但是它数组你的每一项可以保存任何类型的数据。ECMAScript数组的大小是可以动态调整的。 创建数组的基本方式有两种。第一种是使用Array构造函数,如下所示: 如果知道数组要保存的项目数量,也可以给构造函数传递参数,而该参数会自动变成length属性的值,如下: 也可以向Array构造函数中传递数组中应包含的项,如下代码所示: 另外,使用Array构造函数时也可以省略new操作符,如下所示: 创建数组的第二种方式是使用数组字面量表示法。数组字面量由一对包含数组项的方括号表示,多个数组项之间用逗号隔开,如下所示: 与对象一样,在使用数字字面量表示法时,也不会调用Array的构造函数。 在读取和设置数组的值时,要使用方括号并提供相应值的基于0的数字索引,如下所示: 数组的项数保存在其length属性中,这个属性始终会返回0或更大的数字,如下所示: 值得注意的是,数组的length值不是只读的。因此,通过设置此值,可以从数组的末尾移出项或向数组添加项,如下: 利用length属性也可以方便的向数组末尾添加数据:

1、检测数组

对于一个网页或一个全局作用域而言,使用instanceof操作符可以做到: instanceof操作符局限性在于全局作用域,如果网页包含多个框架,就存在两个以上的全局执行环境。为了解决这个问题,ECMAScript5新增了Array.isArray()方法,使用如下:

2、转化方法 调用数组的toString()方法会返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串。而调用valueOf()返回还是数组。如下所示: 数组继承的toLocalString()、tiString()和valueOf()方法,在默认情况下都会以逗号分隔符的字符串形式返回数组项。而如果使用join()方法,则可以使用不同的分隔符来构建这个字符串。join()方法只接受一个参数,即用作分隔符的字符串,如下所示: 如果数组中的某一项值为null或者undefied,那么该值在join()、toLocalString()、tiString()和valueOf()方法返回结果以空字符串表示。

3、栈方法

Javascript专门为数组提供了push()和pop()操作,以便实现类似栈的行为。

push()方法可以接收任意数量的参数,把他们逐个添加到数组末尾,并返回修改后数组的长度。pop()方法则从数组末尾溢出最后一项,减少数组的length值,然后返回移出的项。

4、队列方法

栈数据结构的访问规则是LIFO(后进先出),而队列的访问规则是FIFO(先进先出)。队列在列表末端添加项,在前端移出项。

shift()方法能够移除数组中的第一项,并返回该项,数组的length-1。结合push()和shift()方法,可以像使用队列一样使用数组,如下所示:

ECMAScript还为数组提供了unshift()方法。unshift()和shift()方法用途相反:它在数组前端添加任意个项并返回新数组的长度。因此,同时使用unshift()和shift()方法,可以从相反方向来模拟队列,即在数组前端添加新项,从数组末端移出项,如下所示:

JavaScript之数组(Array)详解(javascript数组有哪些方法)

5、重排序方法 数组中已经存在两个可以直接用来重排序的方法:reverse()和sort()。reverse()方法会按照反转数组项的排序。 默认情况下,sort()方法按照升序排列数组项,调用每一项的toString()方法,比较字符串,以确定如何排序。即使数组中的每一项都是数值,sort()方法比较的都是字符串。 我们可以通过一个比较函数当作参数传递给sort()方法。如下:

6、操作方法 ECMAScript为操作在数组中提供了很多方法。其中,concat()方法可以基于当前数组中的所有项创建一个新数组。 slice()方法,它能够基于当前数组的一个项或多个项创建新数组,它可以接收一个或两个参数,即要返回项的起始和结束位置。一个参数时,返回该参数指定位置开始到当前数组末尾的所有项。两个参数则返回起始到指定位置的所有项——不包括结束位置的项。注意,slipe()方法不影响原始数组。 slice()方法删除:可以删除任意数量的项,只需指定2个参数:要删除的第一项的位置和要删除的项数。 slice()方法插入:可以向指定位置插入任意数量的项,只需提供3个参数:起始位置、0(要删除的项数)和要插入的项。 slipe()方法替换:可以项指定位置插入任意数量的项,且同时删除任意数量的项,只需指定3个参数:起始位置、要删除的项数和要插入的任意数量的项。

7、位置方法 ECMAScript5为数组提供了两个位置方法:indexOf()和lastIndexOf()。这两个方法都接收两个参数:要查找的项和表示查找起点位置的索引(可选)。其中indexOf()方法从数组的开头开始先后查找,lastIndexOf()方法则从数组的末尾开始向前查找。 这两个方法都返回要查找的项在数组中的位置,在没有找到的情况下返回-1。8、迭代方法

ECMAScript5为数组定义了5个迭代方法。每个方法都接受两个参数,第一个是进行迭代的函数,第二个是该函数的作用域对象【可选】。

进行迭代的函数接受三个参数,第一个是数组中要进行迭代的元素的值,第二个是数组候总要进行迭代的元素的位置,第三个是迭代数组本身。

1. every() 对数组中的每一项运行给定的函数,如果该函数对每一项都返回true,则返回true 2. filter() 对数组中的每一项运行给定的函数,返回该函数返回true的项组成的数组。 3. forEach() 对数组中的每一项运行给定的函数,这个方法没有返回值 4. map() 对数组中的每一项运行给定的函数,返回每次函数调用的结果组成的数组 5. some() 对数组中的每一项运行给定的函数,如果该函数对任意一项返回true,则返回true 这些迭代方法支持的浏览器有,IE9+,Firefox2+,Safari3+,Opera 9.5+,chrome 在这些方法中,最相似的是every()和some(),它们都是用于查询数组中的项是否满足某个条件。对every()来说,传入的函数必须对每一项都返回true,这个方法才返回true;否则,他就返回false。而some()方法则是只要传入的函数对数组中某一项返回true,就返回true。

filter()是利用指定的函数确定是否在返回的数组中包含某一项。

map()也返回一个数组,而这个数组的每一项都是在原始数组中的对应项上运行传入函数的结果。

forEach()是对数组中的每一项运行传入的函数。这个方法没有返回值,本质上与使用for循环迭代数组一样。

9、归并方法

ECMAScript5中新增了两个方法:reduceRight() 和 reduce()。这两个方法都接受两个参数:第一个是用来迭代的数组的函数,这个函数有四个参数分别是,前一个值,当前值,项的索引,数组对象。然而这个函数的任何值都会作为第一个参数自动传给下一项。第二个是作为第一个函数中第一个参数的初始值 。

JavaScript数据类型详解 数据类型JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还有1种复杂数据类型——Object,Object本质上是由一

JavaScript数据类型之基本类型和引用类型的值 ECMAScript变量包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值是简单的数据段,而引用类型值指那些可能由多个值构成的对象。在将

深入探讨JavaScript String对象 String字符串对象1.介绍String对象,对字符串进行操作,如:截取一段子串、查找字符串/字符、转换大小写等等。2.定义方式2.1newString(Value)构造函数:返

标签: javascript数组有哪些方法

本文链接地址:https://www.jiuchutong.com/biancheng/382846.html 转载请保留说明!

上一篇:JS 作用域与作用域链详解(js作用域和作用域链的理解阮一峰)

下一篇:JavaScript数据类型详解(JavaScript数据类型)

  • 广东省增值税发票勾选平台
  • 外国企业无偿援助的进口设备
  • 进项税额转出会影响利润吗
  • 转账支付水电费属于什么会计科目
  • 已申报个税减免什么意思
  • 交易性金融资产有哪些
  • 煤炭运输企业的环保方案及措施怎么写
  • 专用发票丢失怎么抵扣
  • 增值税的核算方式
  • 季度流动比率怎么算
  • 来料加工与进料加工的相似之处有
  • 短期借款在房地产怎么算
  • 工程设备租赁带什么手续
  • 非公益捐赠如何调整应纳税所得额?
  • 外地施工企业税收征管办法
  • 环境保护税税率
  • 全年亏损,但季度预交企业所得税,汇算时怎么调平
  • 一般纳税人所得税优惠政策
  • 进项税额能抵扣的几种情形
  • 服装加工费发票税点
  • 企业所得税营业收入
  • 教育费附加税优惠
  • 办公费差旅费属于
  • 从农民手中收购农产品增值税处理
  • win7电脑加入域
  • 跨年的费用冲回会计分录
  • win7为什么这么多人用
  • php多线程怎么实现
  • 纯净版xp系统打不开了
  • 跨年的发票冲红
  • 工商年报网上申报时间2023年
  • vue3 global
  • vue获取设备id
  • php输出表格css
  • 消费税减免规定有哪些
  • yolov5 test.py
  • 登录界面html5
  • 待抵扣进项税计入其他应收款
  • 企业所得税营业收入包括什么
  • python迭代器iterator
  • 什么条件可以免于起诉
  • 库存商品的进销存怎么做账
  • 企业之间收的借款利息该如何交税 原文
  • 网上报税优点与缺点
  • 固定资产清理怎么报税呢
  • 销货方怎么开具购买方红冲的发票
  • PostgreSQL教程(十二):角色和权限管理介绍
  • 材料成本差异的超支与节约
  • 房屋租赁税缴纳时间
  • 收到法院退回的诉讼费怎么做账
  • 企业网银年服务费怎么做账
  • 呆账坏账对应五级分类
  • 社保补贴生育津贴
  • 个体工商户记账报税教程
  • 法院主要业务活动
  • 一年不到
  • 支票丢失需要登报吗
  • 更换账簿需要注意哪些问题
  • cmd命令 cd
  • 软件无法卸载怎么办,安装的软件卸载不了怎么办
  • win10 oem key
  • windows8内存
  • 怎么更改windows商店的安装位置
  • 怎么调用windows api
  • js判断密码强弱
  • angularjs表格控件
  • cocos2djs
  • 安卓图片缓存太占空间
  • ubuntu不待机
  • django发送请求
  • 如何使用nodejs
  • shell提示
  • jquery的实现原理
  • 手把手教你打造班级主题环境 培训后心得
  • 数据字典实例详解
  • multiset volatile
  • 江苏税务网上办税服务厅服务提醒
  • 广西电子税务局电话人工客服电话
  • 地税局下属单位
  • 1973年简并税制
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设