JS技术

分享非常实用的JavaScript数组学习笔记

字号+ 作者:前端观察 来源:前端观察 2015-09-16 11:55 我要评论( )

注:小编是一个有轻微处女座情节的人,所以很多内容为了方便阅读和格式美观,我都做成了图片,上传后头条都压缩了图片质量,但是不影响大家阅读,因为可以点击放大,哇哈哈! 好了,不扯蛋了,正文开始: 常用的js数组操作方法及原理 1、声明数组的方式 其中

注:小编是一个有轻微处女座情节的人,所以很多内容为了方便阅读和格式美观,我都做成了图片,上传后头条都压缩了图片质量,但是不影响大家阅读,因为可以点击放大,哇哈哈!

好了,不扯蛋了,正文开始:

常用的js数组操作方法及原理

1、声明数组的方式

JavaScript - 数组学习笔记分享(超实用)

其中,在声明数组的时候,去掉new操作符,也可以。

还有一种初始化数组的方式,使用数组字面量表示法 。

数组字面量由一对包含数组项的方括号表示,多个数组项之间用逗号隔开。

JavaScript - 数组学习笔记分享(超实用)

2、数组的length , 不是只读的,可以用它来增删数组。

JavaScript - 数组学习笔记分享(超实用)

增加数组项

JavaScript - 数组学习笔记分享(超实用)

3、检测数组

如果只有一个全局的环境,可以用

JavaScript - 数组学习笔记分享(超实用)

但如果一个网页中有框架,就会有多个全局环境,那么Array构造函数就会有多个,此时用

Array.isArray(value);//IE9+

4、转换方法(将数组转化为字符串)

所有对象都有toLocalString()、toString()、这2个方法返回以逗号分隔的字符串,它们的原理分别是循环数组,将数组的每一项分别使用toLocalString()、toString()方法后,拼接成字符串。

join()方法是可以指定分隔的符号来返回字符串。如果在join()中不指定分隔符,默认为逗号。

如果数组中的一项值是null,或者undefined,使用join(),toLocalString()、toString()方法返回的是以空字符串表示该项。

valueOf()返回的还是数组

5、向数组中添加或取出值(栈方法,队列方法)

JavaScript - 数组学习笔记分享(超实用)

这2个方法都是像栈一样的形式,直接操作最后的元素,也就是后来的元素。

还有2种方法像队列一样的形式操作数组,shift,unshift

JavaScript - 数组学习笔记分享(超实用)

取值操作pop(),shift(),会返回一个值

push(),unshift(),会返回添加以后的数组长度。

6、排序方法

JavaScript - 数组学习笔记分享(超实用)

sort();方法会对数组的每一项进行toString()。所以最后得到的数组每一项字符串。所以会出现那样的结果。

但sort()接收一个比较方法的函数作为参数,那我们可以自定义一个compare函数

JavaScript - 数组学习笔记分享(超实用)

7、操作方法(concat,slice,splice)

这里concat和slice方法都不会直接操作原数组,而是返回一个新的数组,原数组不会改变。

JavaScript - 数组学习笔记分享(超实用)

slice很像python切割字符串。

JavaScript - 数组学习笔记分享(超实用)

slice()如果传入一个负值,则用数组长度加上这个值,对应的就是等价的值

JavaScript - 数组学习笔记分享(超实用)

splice(‘起始位置’, ‘删除数量'[, ‘代替值’]);它是直接操作原数组,以数组形式返回被操作的元素

JavaScript - 数组学习笔记分享(超实用)

8、位置方法(indexOf, lastIndexOf)

indexOf(‘要查找的项'[, ‘查找起点的索引’])返回数组值的索引,从第一个值开始查找、lastIndexOf则相反。

JavaScript - 数组学习笔记分享(超实用)

【全文完】

后续会有更多关于数组的相关文章,请继续关注本头条号。

本头条号将对以后更新的文章进行归类,以方便大家阅读。比如文章的标题以Bootstrap开头,这篇文章就是关于Bootstrap的。还有一些连载的文章将有单独的标题开头,请各位客官留意。

《前端观察》专注于网站前端设计与前端开发、纯粹的前端技术分享。更多前端文章请订阅本头条号,也可以关注微信订阅号qianduanguancha(长按可复制)

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JS开发者调查 - FedFun - 博客频道 - CSDN.NET FedFun 爱前端,乐分享,前端痴王海庆的博客!

    JS开发者调查 - FedFun - 博客频道 - CSDN.NET FedFun 爱前端,乐分

    2015-12-13 11:08

  • javascript中的数组应用的一点发现_javascript教程教程

    javascript中的数组应用的一点发现_javascript教程教程

    2015-10-09 13:00

  • 一个很通用的javascript的下拉菜单_javascript教程教程

    一个很通用的javascript的下拉菜单_javascript教程教程

    2015-10-09 12:23

  • 一个非常实用的Javascript类库_javascript教程教程

    一个非常实用的Javascript类库_javascript教程教程

    2015-10-07 16:12

网友点评