位置: 编程技术 - 正文

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

  • 其他个人出租房屋按照多少征收应纳税额
  • 在建工程贷款利息分录
  • 退回的附加税能退回来吗
  • 财付通转账手续费多少
  • 预付款保函履约保函
  • 企业报销发票都需要什么
  • 电子发票详见清单怎么开
  • 建筑企业在实施安全检查时,必须严格执行
  • 转让无形资产所有权计入什么科目
  • 个人借款给公司借条怎么写
  • key介质费入哪个科目?
  • 保险营销员的佣金收入怎么交个税
  • 如何查看电脑的型号和配置
  • 单位缴纳工会经费的会计分录怎么做
  • win10 bios设置
  • 苹果14promax最新版本16.6
  • 企业之间资金拆借利息是否可以税前扣除
  • 以公司名义购买房产的利与弊
  • 印花税计税依据及计算方式
  • 真实有效的18岁身份证
  • 盈余公积的提取基数
  • 限制浏览器打开网页
  • thinkphp怎么部署
  • php面向对象的三大特征
  • 公司收到医疗保障事务中心的转账
  • 用友结转所得税费用
  • 工业企业出售边角余料交的增值税税率是多少
  • 公益性捐赠增值税税率
  • window7无法正常启动怎么办
  • 电脑硬盘数据恢复一般需要收费多少钱
  • php后端开发流程教程
  • 企业租房费用可以计入成本吗
  • 非货币性资产对外投资企业所得税例题
  • PHP:imagefilledarc()的用法_GD库图像处理函数
  • 小微企业应纳税所得额300万所得税
  • 资产负债表中投资总额是什么
  • php调用外部程序
  • etc发票计算抵扣
  • api接口应用举例
  • 大二期末要考试吗
  • 消费积分如何做账
  • phpcms怎么样
  • 机关事业单位以外包服务方式长期用工
  • 如何做进项税额转出处理
  • 开收据可以列收入吗
  • 反射怎么解释
  • 差旅费算直接人工吗
  • 弃置费用的现值计入固定资产
  • 会计科目是怎么来的
  • 会计常用分录
  • 出差会计处理
  • 小微企业开专票需要缴纳多少税
  • 其他应收款科目余额在贷方表示什么
  • 个人劳务报酬所得税税率表
  • 消费税为什么是中央税还是地方税
  • 融资租入固定资产的改建支出
  • 开票软件服务费全额抵扣怎么做账
  • 政府会计累计盈余借贷方向
  • 商品进销存台账
  • 购买农药化肥怎么入账
  • 劳务费可以白条入账吗
  • 商品过期怎么做分录
  • 固定资产折旧年限的最新规定2023
  • ubuntu上安装qt
  • mac系统删除系统软件
  • elccest.exe是间谍广告程序吗 elccest进程有什么作用
  • win7安装程序遇到错误0xc0000135
  • mac 照片导入项目没反应
  • glimp使用方法
  • macos 升级python
  • 置顶pyq会被自己屏蔽的人看到吗
  • js if语句怎么写
  • sdk和安卓版本
  • js创建对象的方法有哪些
  • 成都水费查询系统
  • 江苏省2023年1号文
  • 个体诊所可以申请医保报销吗
  • 发票勾选后必须抵扣吗
  • 房屋赠与给子女要交多少税
  • 西安代驾平台有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设