位置: 编程技术 - 正文

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

  • 企业所得税中资产总额平均值怎么核算?
  • 手撕定额发票不是免税怎么还报税
  • 开出商业承兑汇票到期会计分录
  • 确认销售收入的重要依据是什么
  • 计提应付票据利息的会计分录
  • 转让无形资产专利权的账务处理
  • 发票金额小于入库金额
  • 通信服务费包括哪些
  • 计提坏账准备为什么要加借方
  • 税费返还怎么做会计科目
  • 工厂报废的产品价格有规定吗
  • 公司租的员工宿舍退租,现在要开发票给人家退房租
  • 进项税发票已经认证但对方又作废
  • 消费税的纳税环节可能有
  • 公司当年福利费没有用到限额,可以按照14%计提税前扣除吗?
  • 待解报预算收入扣款怎么做账
  • 公司委托公司收款合法吗
  • 主营业务成本记账
  • 计算所得税时扣除增值税附加怎么算
  • 股东放弃债权账务处理
  • 债务转为资本什么意思
  • 库存与账面不符怎么办
  • 设备改造时各项支出的会计处理?
  • 补缴房产税需要什么资料
  • wind10激活密钥
  • 应收账款平均余额怎么理解
  • Omniserv.exe - Omniserv是什么进程 有什么用
  • php 替换
  • php的in_array
  • 语义分割用途
  • php提供的三种在函数内使用全局变量的方式
  • php或者判断
  • 冲减预提成本分录
  • chage -l命令
  • 利润分配反映什么
  • discuz去除底部
  • 财务报表没有申报会影响领发票吗
  • 在建工程预付款超过审计价怎么办
  • 建厂购买材料的会计科目
  • 增值税抵扣进项税额什么意思
  • 发票没拿回来可以报销吗
  • golang eventbus
  • mysql命令行如何命令行导出查询结果并导入
  • 小规模差额征税的税率是3%还是5%
  • 手写发票可以报维修费吗
  • 利润表反映了什么能力
  • 航空公司开具的代订机票费可以抵扣吗
  • 印花税怎么计算公式
  • sqlserver 数据集字符集种类
  • 新准则职工福利费包括哪些
  • 民办非企业单位什么意思
  • 进项税加计抵扣政策2023年
  • 已核准未登记名称我可以注册吗
  • 发票红冲操作流程
  • 收到以前年度银行手续费发票分录
  • 一般纳税人工程劳务发票税率是多少
  • 一般纳税人抵扣怎么算
  • 个人转租房屋需要交房产税吗
  • 收款预缴增值税怎么做账
  • 外账进销存单据是怎么弄的?
  • 抵扣进项税额必须用专用发票吗
  • 进入四大会计师事务所怎么样
  • 借款利息怎么记账
  • mysql 绿色版安装
  • fedora29
  • win7系统怎么打开开机启动项
  • 如何设置windows桌面图标
  • opengl帧缓冲
  • 函数里面声明函数
  • dos字符串替换
  • shell入门
  • linux bash中too many arguments问题的解决方法
  • python ints
  • AutoPainting
  • android面试基础知识
  • js模拟点击confirm
  • Android自定义控件开发入门与实战 百度网盘
  • js如何判断输入输出
  • 北京市社会团体
  • 河北电子税务局电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设