位置: 编程技术 - 正文

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数据类型)

  • 山东税务网上申报平台操作员查询
  • 缴纳上个月增值税要先计提吗
  • 固定资产本期发生额怎么算
  • 管理费用当月可以有余额吗
  • 个人所得税本期免税收入是指什么
  • 应交增值税明细科目如何结转
  • 企业所得税季度申报时间
  • 旧设备进口关税
  • 境外增值税代扣代缴
  • 有票据的福利费是不需要职工薪酬科目过渡吗
  • 公司用无形资产抵税
  • 河道工程维护管理费征收
  • 增值税专用发票怎么开
  • 增值税普票丢失的最新处理
  • 退役士兵税收优惠政策
  • 股票回购会计处理
  • 拿提成的工资怎么算
  • 工程哪些材料可以做
  • 自有房屋的装修费计入长期待摊
  • 其他资本公积增加会计处理方法
  • 企业买的商业保险退款怎么做账
  • 非主营业务收入记什么
  • win11怎么设置桌面显示我的电脑
  • linux中git命令
  • 无偿赠送的原材料怎么处理
  • 个贷系统平帐专户A贷
  • 财政拨款收入属什么科目
  • 收到培训内容的英文
  • ubuntu18更换为阿里源
  • win8怎么提高性能
  • 域名服务费属于什么会计科目
  • windows 10 build 21354
  • 公司水费怎么算
  • php 自动加载
  • 企业年金如何缴纳计算方法
  • ValueError: The device should not be ‘gpu‘, since PaddlePaddle is not compiled with CUDA问题解决(Paddle)
  • 无法按时交纳税怎么办
  • 论文implications
  • php session_id
  • 企业注销前的账务处理
  • 没有发票的费用汇算清缴的时候怎么调出来
  • 对象是类的实例,一个对象必须属于一个已知的类
  • python元组操作方法
  • 员工借款未还离职怎么办
  • 电子承兑汇票的承兑人是谁
  • 补发工资如何做账
  • 汇算清缴要求
  • 损益类科目调整到未分配利润分录
  • 内账应收应付怎么对账
  • 哪些地方中国没有收复
  • 高危险工作人员有什么意外险
  • 对公账户原路退回备注怎么写
  • 高速过路费怎么补交
  • 公司办理网银
  • 预付卡销售和充值怎么做账
  • 客户退货不退赠品怎么办
  • 企业计提增值税怎么写
  • Suse Linux 10中MySql安装与配置步骤
  • 安装完成后如何检验安装的部分是否符合安装工艺
  • 利用sql函数生成数据
  • windows 10预览版
  • 详细介绍的英文
  • mac新手必看教程
  • win8.1怎么设置自动关机
  • seti@home.exe - seti@home是什么进程 有什么用
  • win10周年更新版是什么意思
  • 新手如何入门
  • linux实用技巧
  • win7 64位纯净版图标变成了一样该怎么办?win7旗舰版图标变成一样的解决方法
  • windows8介绍
  • js基于贪心算法实验报告
  • cmd运行指令闪黑框
  • 下载器广告
  • vue中组件的作用是什么
  • python datetime.now
  • Rotate object with mouse click or touch in Unity3D
  • jquery 菜单
  • 电子税务局如何解绑办税人员
  • 什么是金融企业的固定推销人员
  • 国税局地点
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设